AutoCAD.Net/C#.Net QQ群:193522571 C# WINFORM 自定义控件如何进行强制转换?
事情是这样的:
我定义了一个控件A,里面包含有一个COMBOBOX控件B,A中我定义了B下拉时的事件C,而此事件C中我将sender定义成了B下拉事件的sender。
导致外部事件C中返回的sender实际上是控件B,而不是我想要的A。
所以在进行强制转换(A)sender时出错。
C:
public delegate void DataChange(object sender, EventArgs e);
public event DataChange DataChanged;
下面这个是错误的,用的sender,返回的是CbBase这个控件
private void CbBase_SelectedIndexChanged(object sender, EventArgs e)
{
……
// 1.在本控件中您选定的事件中标记本事件;
if (DataChanged != null) DataChanged(sender, new EventArgs());
……
}
下面这个是我想要返回的,为当前自定义控件
private void CbBase_SelectedIndexChanged(object sender, EventArgs e)
{
……
// 1.在本控件中您选定的事件中标记本事件;
if (DataChanged != null) DataChanged(this, new EventArgs());
……
}