当前位置:编程学习 > C#/ASP.NET >>

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;
            }
        }  --------------------编程问答--------------------
引用 4 楼 hucailin 的回复:
KeyPress 和 KeyDown
这个事件先判断用户按键操作 如
  private void cboShow_KeyPress(object sender, KeyPressEventArgs e)
  {
  e.Handled = e.KeyChar < '0' || e.KeyChar > '9';
  if (e.KeyChar == (char)8)
  {
  e.……

+1 --------------------编程问答-------------------- 首先把窗体的keypreview属性设置为true 

然后在keyDown事件里写

/// <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();
            }
            
        }
--------------------编程问答-------------------- 首先把窗体的keypreview属性设置为true  


这是属性是必须设置的

然后在keyDown事件里写

       /// <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();
            }
            
        }
--------------------编程问答-------------------- 友情顶贴 --------------------编程问答-------------------- --------------------编程问答-------------------- 首先把窗体的keypreview属性设置为true 
不知道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
--------------------编程问答--------------------
引用 4 楼 hucailin 的回复:
KeyPress 和 KeyDown
这个事件先判断用户按键操作 如
  private void cboShow_KeyPress(object sender, KeyPressEventArgs e)
  {
  e.Handled = e.KeyChar < '0' || e.KeyChar > '9';
  if (e.KeyChar == (char)8)
  {
  e.……
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,