2010-10-04 218 views
4

我有一個Windows窗體用戶控件由多個控件組成。其中還有gridview控件。現在我想在表單中使用用戶控件。我如何檢查例如網格行是否被點擊?我想獲取所選行的數據。 換句話說,我如何檢測嵌入在用戶控件中的控件事件?Windows窗體:用戶控件和事件

回答

7

您需要通過添加額外的事件暴露從父控件的事件:

public event EventHandler GridViewClicked; 

你使用以下稱之爲你的孩子控制:

private void ChildControlGrid_RowClicked(object sender, EventArgs e) 
{ 
    if (GridViewClicked != null) 
    { 
     GridViewClicked(sender, e); 
    } 
} 

然後,您可以實現這一點同樣的方式,你會在你的表單上發生任何事件:

yourControl.GridViewClicked += new EventHandler(ChildGridRowClicked); 

private void ChildGridRowClicked(object sender, EventArgs e) 
{ 
    // Child row clicked 
} 
1

在您的用戶控件上創建一個新事件並使用它來暴露gridview的事件。