如何将事件放入事件中

时间:2017-12-19 15:12:05

标签: c#

所以我开始触摸Windows窗体应用程序并来自控制台应用程序

现在我看到了一些事件,如果键是" K"我想要画一条线。被压了 但KeyDown是一个事件,我不能将绘制事件放在KeyDown事件中。

2 个答案:

答案 0 :(得分:1)

请记住,如果您的表单已调整大小,可能会删除所有内容: 您可以使用此代码按需绘制:(经过测试的代码)

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
   if(e.KeyChar=='K')
   Draw();
}

void Draw()
{
   System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Black);
   System.Drawing.Graphics formGraphics;
   formGraphics = this.CreateGraphics();
   formGraphics.DrawLine(myPen, 0, 0, 200, 200);
   myPen.Dispose();
   formGraphics.Dispose();
}

答案 1 :(得分:0)

MSDN article通过代表处理此类问题。

  

使用事件属性处理多个事件定义委托   在课堂上收集事件。

     

为每个事件定义一个键。

     

在引发事件的类中定义事件属性。

     

使用委托集合实现添加和删除访问者   事件属性的方法。

     

使用公共事件属性添加和删除事件处理程序   代表处理事件的类。