問:如何創建鏈接按鈕列表,以便當用戶單擊某個鏈接時,它將在Windows資源管理器中將其打開。將單詞鏈接到Windows資源管理器c#
所以我有一個富文本框,其中包含所有文件夾名稱的列表,我有一個所有文件夾路徑的列表。我希望能夠點擊文件夾名稱並使用在Windows資源管理器中正確文件夾的路徑進行鏈接。
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;
我以這段代碼開始。我正在使用foreach語句來獲取文件夾名稱和路徑。我試圖更改鏈接的名稱,以便用戶看到他們正在點擊文件夾A,但是當您單擊文件夾A時,它會使用路徑打開文件夾所在的窗口資源管理器。
任何想法或幫助將不勝感激。
更新
我改變了代碼一點,所以現在它會顯示,但我不能向下滾動。它似乎只在表面上,因爲我在富文本框中運行了一些東西,並且在鏈接停留在表面上時它是可滾動的。
我還添加了一張圖片,以便您可以看到問題所在。我滾動一點,所以很容易看到。
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;
更新:我想基本上是做超鏈接列表,所以我不認爲,因爲我覺得它是在一個固定的位置,我可以使用LinkLabel的。
是你的問題得到它打開資源管理器的路徑,或者是顯示的鏈接/滾動/等問題?有些不清楚實際問題是什麼。 – Yushatak
所以我有通往Windows資源管理器的路徑。我似乎無法讓它打開使用該路徑的Windows資源管理器或顯示應該在那裏的正確數量的鏈接按鈕。 (我想能夠通過它們滾動)這是否更好地回答你的問題? – Tasha