2016-02-27 169 views
0

我有一個從DataGridView繼承一個類來使用,我有一個EventArgs的相同代碼如下:如何從類訪問事件處理程序在Form

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
namespace MyTest 
{ 
    class Test1:System.Windows.Forms.DataGridView 
    { 
     private void Test1_Click(object sender, EventArgs e) 
     { 
      MessageBox.Show("Click"); 

     } 

    } 
} 

然後我有一個表格,我想在我的表單中使用Test1。所以我將Test1從工具箱拖到我的表單上。我想要的是當我運行表單並單擊Test1時,它將顯示消息「CellMousClick」,但是當我運行我的表單時,它不顯示任何內容。謝謝

+2

是否該事件處理程序綁定到DataGridView的事件?我的意思是:CellMouseClick + = Test1_CellMouseClick; – ConnorsFan

+1

沒有必要從'DataGridView'派生一個新的類來爲'CellClick'創建一個處理程序,也不必爲'OnCellClick'顯式重寫。 – MickyD

回答

1

創建Test1類中的構造函數並附加一個事件處理程序,例如:

public Test1() 
{ 
    this.CellMouseClick += new DataGridViewCellMouseEventHandler(this.Test1_Click); 
} 
+0

非常感謝。現在它可以工作。 – Ley

相關問題