【IT168 技术】编者按:java事件机制包括三个部分:事件、事件监听器、事件源。事件一般继承自java.util.EventObject类,封装了事件源对象及跟事件相关的信息。事件监听器能够实现java.util.EventListener接口,注册在事件源上,当事件源的属性或状态改变时,取得相应的监听器调用其内部的回调方法。事件源为事件发生的地方。作者所讲述为Form的Control Keyevent。
一、Form的KeyEvent
image
KeyCode:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if ((e.Modifiers == Keys.Control) && (e.KeyCode == Keys.Z))
{
this.cancelHandler();
}
else if ((e.Modifiers == Keys.Control) && (e.KeyCode == Keys.S))
{
this.saveHandler();
}
else
e.Handled = true;
}
二、Control’s KeyEvent
检测输入control的字符的正确性。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 'b')
mPwFlag[0] = e.KeyChar;
if (e.KeyChar == 'a')
mPwFlag[1] = e.KeyChar;
if (e.KeyChar == 't')
mPwFlag[2] = e.KeyChar;
if (e.KeyChar == '1')
mPwFlag[0] = e.KeyChar;
if (e.KeyChar == '2')
mPwFlag[1] = e.KeyChar;
if (e.KeyChar == '3')
mPwFlag[2] = e.KeyChar;
if (mPwFlag[0] == 'b' && mPwFlag[1] == 'a' && mPwFlag[2] == 't')
{
mPwFlag[0] = '0';
mPwFlag[1] = '0';
mPwFlag[2] = '0';
BatCreateTopic bct = new BatCreateTopic(this);
this.button3.Visible = true;
bct.ShowDialog(this);
}
}