我提出的GUI程序,將顯示文件的一些路徑增加控制,它們被動態地創建。我希望當用戶點擊標籤時,打開相應的文件(顯示其文本)。 我已經存儲在列表中創建的所有標籤。 我想下面的解決這個問題的(根據用戶輸入) 由於,標籤根據所述用戶輸入作出動態創建的標籤
- 添加打開功能,這將打開文件到Click事件
的問題是,
功能如何知道哪些按鈕文本用它來打開文件
即 如果有三個標貼,以及用戶按下第二個標籤打開功能如何知道按哪個標籤?
我提出的GUI程序,將顯示文件的一些路徑增加控制,它們被動態地創建。我希望當用戶點擊標籤時,打開相應的文件(顯示其文本)。 我已經存儲在列表中創建的所有標籤。 我想下面的解決這個問題的(根據用戶輸入) 由於,標籤根據所述用戶輸入作出動態創建的標籤
的問題是,
功能如何知道哪些按鈕文本用它來打開文件
即 如果有三個標貼,以及用戶按下第二個標籤打開功能如何知道按哪個標籤?
最後想出一個辦法
private void LabelClick(object sender, EventArgs e)
{
string Path = ((Label)sender).Text ;
System.Diagnostics.Process.Start(Path) ;
}
在這裏,文件的路徑是在有標籤的文本屬性
給標籤唯一的名稱,指派他們都是一樣的單擊事件,並使用一個開關:
private void label_Click(object sender, EventArgs e)
{
switch(((Label)sender).Name)
{
case "Label1":
//........
break;
}
}
編輯:
只訂閱事件,當您創建標籤:
label.Click += label_Click;
如果您看設計器代碼,那就是您在UI中設置事件時所要做的所有事情
但是我只能知道沒有在運行時創建的標籤。所以,我該如何使用開關 –
看到更新^ – Jonesopolis
但我怎麼可以用開關時,我不運行之前知道沒有案件。 –