C#中。传递给事件的参数e的问题

C#中,当写某个控件的事件时会看到两个参数。sender 和 e例如:button1_Click(object sender, EventArgs e)在 button1_Click 这个事件中:
Point i = (e as System.Windows.Forms.MouseEventArgs).Location;可以获得鼠标相对按钮的坐标。我想这样些来知道单击时是否按下了[Ctrl]键:Boolean j = (e as System.Windows.Forms.KeyEventArgs).Control;为什么会是错误的? 我想知道这个参数e中都包含哪些信息不同的控件中参数e又会包含哪些信息

button1_Click(object sender, EventArgs e)中的e是EventArgs 类型,不能够转换成KeyEventArgs和MouseEventArgsKeyEventArgs和MouseEventArgs继承了EventArgs 只能KeyEventArgs类型转换EventArgs ,反之不行还不如直接在form的previewkeydown或者keydown中来捕捉Ctrl键
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答