1.将窗体的属性KeyPrieview设置为true
2.在窗体KeyDown事件中加如下代码
private void FormVali_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
//屏掉alt+f4
if ((e.KeyCode == Keys.F4)&&(e.Alt == true))
{
e.Handled = true;
}}
private void FormVali_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
SendKeys.Send("{TAB}");
e.Handled = true;
}}private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.Control==true && e.KeyValue==13)
{
this.button1.PerformClick();
}
}private void FormVali_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter&&e.Control==true)
{
this.button1.PerformClick();
}
}
2.在窗体KeyDown事件中加如下代码
private void FormVali_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
//屏掉alt+f4
if ((e.KeyCode == Keys.F4)&&(e.Alt == true))
{
e.Handled = true;
}}
private void FormVali_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
SendKeys.Send("{TAB}");
e.Handled = true;
}}private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.Control==true && e.KeyValue==13)
{
this.button1.PerformClick();
}
}private void FormVali_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter&&e.Control==true)
{
this.button1.PerformClick();
}
}
if ((e.KeyCode == Keys.Tab)&&(e.Alt == true))
{
e.Handled = true;
}
难道不对吗?请指教
protected override bool ProcessCmdKey(ref Message msg,Keys keyData)
{
if ( ( !(ActiveControl is Button)) && (keyData==Keys.Up || keyData==Keys.Down || keyData==Keys.Enter))
{
if(keyData == Keys.Enter)
{
System.Windows.Forms.SendKeys.Send("{TAB}");
return true;
}
if(keyData==Keys.Down )
System.Windows.Forms.SendKeys.Send("{TAB}");
else
SendKeys.Send("+{Tab}");
return true;
}
else
return base.ProcessCmdKey(ref msg,keyData);
}