paint事件
谁能告诉我想在每次按下指定的键盘上的键就调用paint事件
举个例子 我按下a的时候就调用paint事件,按下b的时候就不调用
帮我把代码写一下!!!!
help
~!!!!!!!!!! --------------------编程问答-------------------- Keydown时间中调用paint就可以啊 --------------------编程问答--------------------
--------------------编程问答-------------------- protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
// 按键事件中改变 isPaint的值
bool isPaint = false;
private void Form1_Paint(object sender, PaintEventArgs e)
{
if (isPaint)
{
// ....
}
}
{
if(keyData == Keys.A)
{
//调用
return true;
}
return base.ProcessCmdKey (ref msg, keyData);
}
或
private void frmLogin_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyCode == Keys.A)
{
//调用
}
}
--------------------编程问答-------------------- 你能给写的详细点么??、
谢谢了
!!!!!!!!!!!! --------------------编程问答--------------------
bool bPaint = false;--------------------编程问答-------------------- 调用那不应该怎么写???? --------------------编程问答--------------------
private void Form1_Paint(object sender, PaintEventArgs e)
{
if (bPaint)
{
Console.WriteLine("HELLO");
bPaint = false;
}
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 'a')
{
bPaint = true;
this.Refresh();
}
}
三楼写的比我好, 把我的这部分代码替换成他的:
[code=C#] protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.A)
{
bPaint = true;
this.Refresh();
}
return base.ProcessCmdKey(ref msg, keyData);
}
就可以实现你的要求了。
补充:.NET技术 , C#