欢迎加我的QQ群:193522571,一起来讨论、交流!

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());
……
}

posted @ 2021-02-05 11:16  swtool  阅读(191)  评论(0编辑  收藏  举报
欢迎加我的QQ群:193522571,一起来讨论、交流!