2 albertschr AlbertSchr 于 2015.06.08 09:04 提问

C# keydown事件求解 如何让响应事件有多个参数?
         private void Mission_KeyDown(object sender, KeyEventArgs e,short i)
        {
            if (e.KeyCode == Keys.Enter)
            {

            }

        }

如上。如果我在事件里增加了一个参数,那么我在
MissionTxt[i].KeyDown += new KeyEventHandler(Mission_KeyDown(MissionTxt[i],?,i));的时候如何写事件参数?主要是不知道怎么写第二个!谢谢!

2个回答

bdmh
bdmh   Ds   Rxr 2015.06.08 09:14
已采纳

你这么弄是无法赋值的,因为参数和KeyEventHandler不匹配,你可以封装一个自定义组件,把keydown风装在里面,自定义事件中可以有自己的参数,控件内部触发keydown时,同时触发你的自定义事件,然后把参数传出来

AlbertSchr
AlbertSchr 看了一下不对啊,因为我是想判断按键为enter时触发自定义事件!求教!
2 年多之前 回复
aaaywu
aaaywu   2015.06.15 11:16

用匿名方法:
int i = 0;
MissionTxt[i].KeyDown += new KeyEventHandler((sender, e) =>{
if (e.KeyCode == Keys.Enter)
{
//使用i
}
});

Csdn user default icon
上传中...
上传图片
插入图片