Frage: Wie kann ich eine Liste von Link-Schaltflächen erstellen, so dass, wenn ein Benutzer auf einen Link klickt, es im Windows Explorer öffnet.Verknüpfen von Wörtern mit Windows Explorer C#
So habe ich ein Rich-Text-Feld, das eine Liste aller Ordnernamen enthält und ich habe eine Liste aller Ordnerpfade. Ich möchte in der Lage sein, auf den Ordnernamen zu klicken und ihn über den Pfad zum richtigen Ordner im Windows Explorer verlinken zu lassen.
LinkLabel link = new LinkLabel();
link.Text = transfer2;
//link.Text = "something";
link.Name = dirName;
link.LinkClicked += new LinkLabelLinkClickedEventHandler(this.link_LinkClicked);
LinkLabel.Link data = new LinkLabel.Link();
data.LinkData = @"C:\";
link.Links.Add(data);
link.AutoSize = true;
link.Location =
this.Display_Rich_Text_Box.GetPositionFromCharIndex(this.Display_Rich_Text_Box.TextLength);
this.Display_Rich_Text_Box.Controls.Add(link);
this.Display_Rich_Text_Box.AppendText(link.Text + " ");
this.Display_Rich_Text_Box.SelectionStart = this.Display_Rich_Text_Box.TextLength;
Ich begann mit diesem Code. Ich verwende eine foreach-Anweisung, um die Ordnernamen und den Pfad zu erhalten. Ich habe versucht, den Namen des Links so zu ändern, dass es dem Benutzer erscheint, dass er auf Ordner A klickt, aber wenn man auf Ordner A klickt, benutzt er den Pfad, um den Windows Explorer zu öffnen, aus dem der Ordner stammt.
Alle Ideen oder Hilfe würde sehr geschätzt werden.
aktualisieren
änderte ich den Code ein wenig jetzt so wird es zeigen, aber ich kann nicht nach unten scrollen. Es scheint nur auf der Oberfläche zu sein, als ich etwas in der Rich-Textbox lief und es war scrollbar, während die Verbindung auf der Oberfläche blieb.
Ich habe auch ein Bild hinzugefügt, so dass Sie sehen können, was das Problem ist. Ich scrollte ein bisschen, damit es leicht zu sehen war.
LinkLabel link = new LinkLabel();
link.Text = dirName;
//link.Text = "something";
link.Name = transfer2;
//link.LinkClicked += new LinkLabelLinkClickedEventHandler(this.link_LinkClicked);
LinkLabel.Link data = new LinkLabel.Link();
data.LinkData = @"C:\";
link.Links.Add(data);
link.AutoSize = true;
link.Location =
this.Display_Rich_Text_Box.GetPositionFromCharIndex(this.Display_Rich_Text_Box.TextLength);
this.Display_Rich_Text_Box.Controls.Add(link);
this.Display_Rich_Text_Box.AppendText(link.Text + "\n");
this.Display_Rich_Text_Box.SelectionStart = this.Display_Rich_Text_Box.TextLength;
Update: Ich versuche, im Wesentlichen eine Liste von Hyperlinks zu machen, damit ich verwende ich Linklabel nicht denken kann, wie ich denke, es ist in einer festen Position ist.
Ist es Ihr Problem, es zu öffnen Explorer am Pfad, oder ist das Problem mit der Anzeige der Links/Scrollen/etc? Es ist etwas unklar, was die eigentliche Frage ist. – Yushatak
Also ich habe den Pfad zum Windows Explorer. Ich kann es anscheinend nicht machen, entweder Windows Explorer mit diesem Pfad zu öffnen oder die korrekte Anzahl von Link-Buttons anzuzeigen, die dort sein sollten. (Ich möchte in der Lage sein, durch sie zu scrollen) Beantwortet das deine Frage besser? – Tasha