2017-10-15 93 views
2

當雙擊btnAsset時,它應該去allButton_Click。 但它只能在一次點擊。我怎樣才能做到這一點?我不能去雙擊「EventHandler」

public void Add(MainForm frm) 
{ 
    this.form1 = frm; 
     for (int i = 0; i < 10; i++) 
     { 
      btnAsset[i] = new Button(); 
      btnAsset[i].Tag = i; 
      btnAsset[i].Name = "Asset-" + i.ToString(); 
      btnAsset[i].Width = 150; 
      btnAsset[i].Height = 120; 
      btnAsset[i].Visible = true; 
      btnAsset[i].BackColor = Color.GreenYellow; 

      form1.flowLayoutVideo.Controls.Add(btnAsset[i]); 

      btnAsset[i].DoubleClick += new EventHandler(allButton_Click); 
     } 
    } 

應該何去何從雙點擊時

void allButton_Click(object sender, EventArgs e) 
{ 
    Button p = sender as Button; 
    if (p != null) 
    { 
     int i = (int)p.Tag; 
     MessageBox.Show((i + 1).ToString() + ". seçildi"); 
    } 
} 
+0

能否請您詳細說明您的問題?它是WinForms還是WPF?你能顯示該視圖的確切定義(按鈕數組)嗎? – wigy

+0

我正在使用WinForms – kadirsns

+0

讓我明白。您只需在運行時點擊一下即可進入_allButton_Click_,或者當您在表單設計器中設計表單時? – Steve

回答

1

看什麼docs說一下吧:

默認情況下,ControlStyles.StandardClickControlStyles.StandardDoubleClick樣式位設置爲false,按鈕控件,並且不會引發DoubleClick事件。

您可以通過創建自己的按鈕類(從Button派生並更改樣式位)來更改此行爲。