Wie kann ich von ContextMenuStrip ItemClicked Ereignis, das Verzeichnis, klickte ich auf?

Habe ich ein Bibliothek-Klasse-Projekt mit einem Benutzer-Steuerelement auf das Benutzersteuerelement ich über explorer wie windows explorer kann ich ein Verzeichnis auswählen und mit der rechten Maustaste habe ich ContextMenuStrip-Menü mit Bearbeiten, Einfügen, Kopieren, Hochladen...

Wenn ich auf Upload die ich brauche, um aus dem Element(Verzeichnis) klickte ich auf all das Verzeichnis, Unterverzeichnisse und allen Dateien. Ich habe versucht, es zu tun mögen dieses:

private void menuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            if (e.ClickedItem.Text == "Upload")
            {
                AllFiles = System.IO.Directory.GetFiles(e.ClickedItem.Text, "*.*", System.IO.SearchOption.AllDirectories);
                Bgw.RunWorkerAsync();
            }
        }

Aber e.ClickedItem.Text ist nicht der Ordner den ich ausgewählt habe, aber der "Hochladen" - Menü text.

Was ich brauche, ist, dass AllFiles(String[]) enthält alle Unterverzeichnisse und alle Dateien damit ich Sie später auf form1.
Im Allgemeinen wird In form1 ich hochladen will den ganzen, vollständigen ausgewählte Verzeichnis und alle Unterverzeichnisse und Dateien auf meinen ftp.

Muss ich nur finden, wie man Sie alle.

Ich bin für das Recht auf wählen Sie den directory-treeView.
Dies ist der Mouse-Up-Ereignis:

void treeView1_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                treeView1.SelectedNode = treeView1.GetNodeAt(e.X, e.Y);

                if (treeView1.SelectedNode != null)
                {
                    menuStrip.Show(treeView1, e.Location);
                }
            }
        }

Und die Nach der Select-Ereignis:

void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            AddDirectories(e.Node);
            AddFiles(e.Node.FullPath.ToString());
            statusBar1.Text = iDirectories.ToString() + " Folder(s)  " + iFiles.ToString() + " File(s)";
        }
  • Was control/Komponente-Typ verwenden Sie für Ihre "explorer-wie windows explorer"? In anderen Worten, was ist der Steuer - /Komponente-Typ Sie sind ein rechts-Klick auf?
  • Ich denke, dass seine eigene Kontrolle... In jedem Fall, in eine "generische" Weise, unabhängig von der Art der Steuerung, er kann tun, was ich schlage vor, in meiner Antwort.
  • Recht, ich vergaß zu erwähnen, die Kontrolle und die treeView-Mouse-Up-Ereignis und Nach dem Ereignis Select.
  • Und ich fand jetzt, dass: treeView1.SelectedNode.FullPath; geben Sie mir die ausgewählten Verzeichnisses.
InformationsquelleAutor Jorge Hyyest | 2014-12-14
Schreibe einen Kommentar