private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{ 这里如何调用btnkill_Click的事件? } private void btnKill_Click(object sender, EventArgs e) { messagebox.shou("123"); } 麻烦说详细点,谢谢! 回答: 最佳答案 事件是一个对像的一个行为发生后触发另一个对象的一个行为的机制。 注意,类只实现自己的行为,而事件的触发事实上是要通过主程序。 例如猫一叫,老鼠就要逃跑。 class Cat { private string name; public Cat():this("无名猫") { } public Cat(string name) { this.name = name; } public delegate void CatShutEventHandler(); public event CatShutEventHandler CatShut; public void shut() { Console.WriteLine("我是" + name + ":喵!"); if (CatShut != null) { CatShut(); //触发事件 } } } class Mouse { private string name; public Mouse() : this("无名小老鼠") { } public Mouse(string name) { this.name = name; } public void Run() { Console.WriteLine("我是"+name+",猫来了,快跑!"); } } class Program { static void Main(string[] args) { Cat cat = new Cat("大丑猫"); Mouse mouse1 = new Mouse("运动鼠"); Mouse mouse2=new Mouse("小花鼠"); //事件发生后,那些行为应该做出 反应 cat.CatShut += new Cat.CatShutEventHandler(mouse1.Run); cat.CatShut += new Cat.CatShutEventHandler(mouse2.Run); cat.shut(); //猫叫,注意,在此方法中有触发事件的 代码 CatShut(); } } 回答者: youngbo_2008 - 试用期 一级 10-15 21:03 我来评论>> 其他回答 共 8 条 this.btnkill_Click(参数) 回答者: yxcncoo - 试用期 一级 10-15 14:48 private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { this.btnKill_Click(NULL, NULL) //这里如何调用btnkill_Click的事件? } private void btnKill_Click(object sender, EventArgs e) { messagebox.shou("123"); } 回答者: beijidefeng - 魔法师 五级 10-15 14:51 可以用事件共用嘛。 在dataGridView1_KeyDown事件里选择你写好的btnkill_Click事件,不就OK了。这样当你出发keydown事件时就执行btnkill_Click了。 回答者: hundredpig - 经理 五级 10-15 15:01 private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { ShowMsg(); } private void btnKill_Click(object sender, EventArgs e) { ShowMsg(); } private void ShowMsg() { messagebox.show("123"); } 回答者: yxliuway - 助理 三级 10-15 15:17 private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { btnKill_Click(null, null) ; } 回答者: (点小图查看大图) _冻结_ - 副总裁 十级 10-15 15:26 private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { //可能你不需要判断当前触发的对象,因此可以直接传入null,如下: btnKill_Click(null, null) ; } 回答者: guobayang - 见习魔法师 二级 10-15 16:31 private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { this. btnKill_Click(null,null)//传空值就行了 } 回答者: fangcheng96 - 助理 三级 10-15 21:18 一般向第二个参数都是EventArgs的两个事件直接用下面的方法就行了,参数不同的化就试试button2_Click(this,null);(第二种没试过) private void button1_Click(object sender, EventArgs e) { button2_Click(this,e); } private void button2_Click(object sender, EventArgs e) { messagebox.shou("123"); } |