首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

如何屏蔽button对回车的响应

2013-04-21 
怎么屏蔽button对回车的响应private void button1_Click(object sender, EventArgs e){MessageBox.Show(a

怎么屏蔽button对回车的响应
private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show("a");
}

当Button获得焦点后,按回车或空格会响应点击事件,该怎么屏蔽?即按回车或空格不响应点击事件。
[解决办法]
拦截消息或用消息过滤器
[解决办法]
设置按钮获得焦点就立刻转移焦点,让回车或者空格无法激活按钮事件
[解决办法]
使用消息过滤!
[解决办法]
 protected override void WndProc(ref Message m)
        {
            Trace.Write(m.ToString() + "\n");
            if (m.WParam == (IntPtr)0xd 
[解决办法]
 m.WParam == (IntPtr)0x20)
            {
                return;
            }
            base.WndProc(ref m);
        }

单步跟踪一下,为什么回车键值没起作用
[解决办法]

引用:
引用:
拦截消息或用消息过滤器
下面代码空格好使,按空格不会响应了,但是回车不行。


C# code
?



12345678910

        protected override void WndProc(ref Message m)         {             Trace.Write(m.ToString() + "……


你每个消息都拦截一下,看看效果再决定呗
[解决办法]
通过 JQUERY获取按键值,如果是回车则return flase
[解决办法]
来晚了~  
不过,过滤空格的方法用KeyDown不就好了吗?

        private void button1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Space)
            {
                e.SuppressKeyPress = false;
            }
        }

[解决办法]
监视所有的keydown事件,判断如果是回车或者空格就屏蔽

   private void 页面名字_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {

            if (e.KeyCode.ToString() == "Return")
            {
                return;
            }


            else if (e.KeyValue.ToString() == "")
            {
                return;
            }
        }

 
[解决办法]
引用:
来晚了~  
不过,过滤空格的方法用KeyDown不就好了吗?
C# code?1234567        private void button1_KeyDown(object sender, KeyEventArgs e)        {            if (e.KeyCode == Keys.Space)            {         ……
LS可行

热点排行