2013-10-28 169 views
0

我提出的GUI程序,將顯示文件的一些路徑增加控制,它們被動態地創建。我希望當用戶點擊標籤時,打開相應的文件(顯示其文本)。 我已經存儲在列表中創建的所有標籤。 我想下面的解決這個問題的(根據用戶輸入) 由於,標籤根據所述用戶輸入作出動態創建的標籤

  • 添加打開功能,這將打開文件到Click事件

的問題是,
功能如何知道哪些按鈕文本用它來打開文件
即 如果有三個標貼,以及用戶按下第二個標籤打開功能如何知道按哪個標籤?

回答

0

最後想出一個辦法

private void LabelClick(object sender, EventArgs e) 
    { 
     string Path = ((Label)sender).Text ; 
     System.Diagnostics.Process.Start(Path) ; 
    } 

在這裏,文件的路徑是在有標籤的文本屬性

2

給標籤唯一的名稱,指派他們都是一樣的單擊事件,並使用一個開關:

private void label_Click(object sender, EventArgs e) 
{  
    switch(((Label)sender).Name) 
    { 
     case "Label1": 
      //........ 
      break; 

    } 
} 

編輯:

只訂閱事件,當您創建標籤:

label.Click += label_Click; 

如果您看設計器代碼,那就是您在UI中設置事件時所要做的所有事情

+0

但是我只能知道沒有在運行時創建的標籤。所以,我該如何使用開關 –

+0

看到更新^ – Jonesopolis

+0

但我怎麼可以用開關時,我不運行之前知道沒有案件。 –