所以我开始触摸Windows窗体应用程序并来自控制台应用程序
现在我看到了一些事件,如果键是" K"我想要画一条线。被压了 但KeyDown是一个事件,我不能将绘制事件放在KeyDown事件中。
答案 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通过代表处理此类问题。
使用事件属性处理多个事件定义委托 在课堂上收集事件。
为每个事件定义一个键。
在引发事件的类中定义事件属性。
使用委托集合实现添加和删除访问者 事件属性的方法。
使用公共事件属性添加和删除事件处理程序 代表处理事件的类。