C#中如何实现用户控件的键盘事件?
紧急,各位帮帮忙 --------------------编程问答-------------------- Keypress? --------------------编程问答-------------------- 你在界面上丢下这个控件 它的事件里面没有?如果没有就去自定义控件里面重新写吧 --------------------编程问答-------------------- KeyPress 和 KeyDown 都可以吧 --------------------编程问答-------------------- KeyPress 和 KeyDown
这个事件先判断用户按键操作 如
private void cboShow_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = e.KeyChar < '0' || e.KeyChar > '9';
if (e.KeyChar == (char)8)
{
e.Handled = false;
}
} --------------------编程问答--------------------
+1 --------------------编程问答-------------------- 首先把窗体的keypreview属性设置为true
然后在keyDown事件里写
--------------------编程问答-------------------- 首先把窗体的keypreview属性设置为true
/// <summary>
/// 键盘事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void PhotoForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F2) //保存按钮快捷键
{
this.btnSave_Click(sender, e);
}
else if (e.KeyCode == Keys.F3) //重置按钮快捷键
{
this.btnReset_Click(sender, e);
}
else if (e.KeyCode == Keys.F5) //复制上条记录快捷键
{
this.btnCopy_Click(sender, e);
}
else if (e.KeyCode == Keys.F12) //浏览记录快捷键
{
this.btnLiulan_Click(sender, e);
}
else if (e.KeyCode == Keys.Escape) //退出按钮的快捷键
{
this.Close();
}
}
这是属性是必须设置的
然后在keyDown事件里写
--------------------编程问答-------------------- 友情顶贴 --------------------编程问答-------------------- --------------------编程问答-------------------- 首先把窗体的keypreview属性设置为true
/// <summary>
/// 键盘事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void PhotoForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F2) //保存按钮快捷键
{
this.btnSave_Click(sender, e);
}
else if (e.KeyCode == Keys.F3) //重置按钮快捷键
{
this.btnReset_Click(sender, e);
}
else if (e.KeyCode == Keys.F5) //复制上条记录快捷键
{
this.btnCopy_Click(sender, e);
}
else if (e.KeyCode == Keys.F12) //浏览记录快捷键
{
this.btnLiulan_Click(sender, e);
}
else if (e.KeyCode == Keys.Escape) //退出按钮的快捷键
{
this.Close();
}
}
不知道LZ具体的要求是什么 --------------------编程问答--------------------
view plaincopy to clipboardprint?--------------------编程问答--------------------
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
using System.Windows.Forms;
namespace WindowsFormsApplication19
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
if (!((e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9) || (e.KeyCode == Keys.Delete)
|| (e.KeyCode == Keys.Back) || (e.KeyCode == Keys.Left)
|| (e.KeyCode == Keys.Right)))
{
/// 拦截该键
e.SuppressKeyPress = true;
}
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jianuMan/archive/2010/06/27/5697244.aspx
补充:.NET技术 , C#