我如何判断一个EventArgs到底是哪种类型?

aereai 2014-07-06 10:39:05
例如,我拖一个Combobox到Winform上面,重载其SelectedIndexChanged事件,那么设计器为我生成的代码如下:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}

我的问题是,似乎所有的消息响应函数的形式,2个形式参数都是基本的类型object和EventArgs,然后要从中提取出有用信息必须对sender和e进行转型。sender转型很容易,因为我们知道是哪个控件发出来的消息。那么e呢? 在我上面的代码中,我如何把e转化成 一个ComboBox语义的,具体的EventArgs来提取出一些有用的信息?

该把这个e转成什么类型?
...全文
382 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
很简单,直接在 comboBox1_SelectedIndexChanged 方法里断点,然后看下传过来的 e 是什么类型就行了
ljfblog 2014-07-07
  • 打赏
  • 举报
回复
            if (e is MouseEventArgs)
            {
                MouseEventArgs me = e as MouseEventArgs;
            }
csz_1987 2014-07-07
  • 打赏
  • 举报
回复
e.GetType().FullName; typeof(EventArg).FullName
BinaryTreeEx 2014-07-07
  • 打赏
  • 举报
回复
e.GetType().Name
缪军 2014-07-07
  • 打赏
  • 举报
回复
EventArgs是事件参数的基类,它本身不包含事件信息, 也就是说当一个事件不需要传递更多信息的时候,就使用这个基类, 更多详情参见3楼提供的MSDN链接
threenewbee 2014-07-06
  • 打赏
  • 举报
回复
不同的事件,第二个参数不同。比如MouseDown就是MouseEventArgs 相同的事件,只能是相同的类型。
wangnaisheng 2014-07-06
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
“一个ComboBox语义的,具体的EventArgs”你说得出来类型吗?

110,525

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧