2023-09-24 17:26:46 -04:00
|
|
|
|
using Vanara.Windows.Shell;
|
2020-08-06 19:16:40 -04:00
|
|
|
|
using static Vanara.PInvoke.Shell32;
|
2020-02-12 22:36:39 -05:00
|
|
|
|
|
2023-03-31 11:47:53 -04:00
|
|
|
|
namespace ExplorerBrowser;
|
|
|
|
|
|
|
|
|
|
public partial class ShellNamespaceTreeControlTestForm : Form
|
2020-02-12 22:36:39 -05:00
|
|
|
|
{
|
2023-03-31 11:47:53 -04:00
|
|
|
|
public ShellNamespaceTreeControlTestForm()
|
2020-02-12 22:36:39 -05:00
|
|
|
|
{
|
2023-03-31 11:47:53 -04:00
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
2020-02-12 22:36:39 -05:00
|
|
|
|
|
2023-03-31 11:47:53 -04:00
|
|
|
|
private void ShellNamespaceTreeControlTestForm_Load(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
using var qaPidl = new PIDL("shell:::{679f85cb-0220-4080-b29b-5540cc05aab6}");
|
|
|
|
|
shellNamespaceTreeControl1.RootItems.Add(new ShellFolder(qaPidl), false, true);
|
|
|
|
|
shellNamespaceTreeControl1.RootItems.Add(ShellFolder.Desktop, true, true);
|
|
|
|
|
propertyGrid1.SelectedObject = shellNamespaceTreeControl1;
|
|
|
|
|
}
|
2020-02-12 22:36:39 -05:00
|
|
|
|
|
2023-03-31 11:47:53 -04:00
|
|
|
|
private void shellNamespaceTreeControl1_SelectionChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
log.AppendText("Selected item: " + shellNamespaceTreeControl1.SelectedItem?.Name ?? "[null]" + Environment.NewLine);
|
|
|
|
|
}
|
2020-02-12 22:36:39 -05:00
|
|
|
|
|
2023-03-31 11:47:53 -04:00
|
|
|
|
private void shellNamespaceTreeControl1_AfterExpand(object sender, Vanara.Windows.Forms.ShellNamespaceTreeControlEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
log.AppendText($"After expand: {e.Item.Name}, {e.Action}" + Environment.NewLine);
|
|
|
|
|
}
|
2020-02-12 22:36:39 -05:00
|
|
|
|
|
2023-03-31 11:47:53 -04:00
|
|
|
|
private void shellNamespaceTreeControl1_AfterLabelEdit(object sender, Vanara.Windows.Forms.ShellNamespaceTreeControlItemLabelEditEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
log.AppendText($"After label edit: {e.Item.Name}, {e.Label}" + Environment.NewLine);
|
|
|
|
|
}
|
2020-02-12 22:36:39 -05:00
|
|
|
|
|
2023-03-31 11:47:53 -04:00
|
|
|
|
private void shellNamespaceTreeControl1_BeforeExpand(object sender, Vanara.Windows.Forms.ShellNamespaceTreeControlCancelEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
log.AppendText($"Before expand: {e.Item.Name}, {e.Action}" + Environment.NewLine);
|
|
|
|
|
}
|
2020-02-12 22:36:39 -05:00
|
|
|
|
|
2023-03-31 11:47:53 -04:00
|
|
|
|
private void shellNamespaceTreeControl1_BeforeItemDelete(object sender, Vanara.Windows.Forms.ShellNamespaceTreeControlCancelEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
log.AppendText($"Before delete: {e.Item.Name}, {e.Action}" + Environment.NewLine);
|
|
|
|
|
e.Cancel = MessageBox.Show(this, "Delete?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No;
|
|
|
|
|
}
|
2020-02-12 22:36:39 -05:00
|
|
|
|
|
2023-03-31 11:47:53 -04:00
|
|
|
|
private void shellNamespaceTreeControl1_BeforeLabelEdit(object sender, Vanara.Windows.Forms.ShellNamespaceTreeControlItemLabelEditEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
log.AppendText($"Before label edit: {e.Item.Name}, {e.Label}" + Environment.NewLine);
|
|
|
|
|
e.CancelEdit = true;
|
|
|
|
|
}
|
2020-02-12 22:36:39 -05:00
|
|
|
|
|
2023-03-31 11:47:53 -04:00
|
|
|
|
private void shellNamespaceTreeControl1_ItemMouseClick(object sender, Vanara.Windows.Forms.ShellNamespaceTreeControlItemMouseClickEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
log.AppendText($"Mouse click: {e.Item.Name}, {e.HitLocation}, {e.Button}" + Environment.NewLine);
|
|
|
|
|
}
|
2020-02-12 22:36:39 -05:00
|
|
|
|
|
2023-03-31 11:47:53 -04:00
|
|
|
|
private void shellNamespaceTreeControl1_ItemMouseDoubleClick(object sender, Vanara.Windows.Forms.ShellNamespaceTreeControlItemMouseClickEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
log.AppendText($"Mouse double-click: {e.Item.Name}, {e.HitLocation}, {e.Button}" + Environment.NewLine);
|
2020-02-12 22:36:39 -05:00
|
|
|
|
}
|
|
|
|
|
}
|