c#里怎么重写控件的响应函数

 我来答
穿衣搭配时尚菌
2017-06-25 · TA获得超过1661个赞
知道小有建树答主
回答量:762
采纳率:72%
帮助的人:504万
展开全部

具体控件你也没说,我拿Textbox控件为例

一个Textbox,我只想让它接受数字输入,但是添加OnKeyPress等事件不会屏蔽Textbox控件的默认处理,也就是说如果输入字母还是会显示出来,如何屏蔽呢? 注意:这里说的是WinForm里的情况:

从TextBox集成,然后这样写:

 using System.Windows.Forms; 
 namespace YourNamespace { 
 public class NumOnlyText : System.Windows.Forms.TextBox { 
 public NumOnlyText() { 
 } 
 private const int WM_CHAR=0x102; //继承ProcessKeyMessage 
 protected override bool ProcessKeyMessage(ref Message m) { 
 base.ProcessKeyMessage(ref m); //如果不是WM_CHAR就不管
  if (m.Msg!=WM_CHAR) 
  return false; 
  if ((m.WParam.ToInt32()<'0')||(m.WParam.ToInt32()>'9'))
  //如果不是数字,那么什么都不做,返回 
  return true; 
  else//否则,告诉系统需要处理WM_CHAR事件。 
  return false; 
  } 
  } 
  }

看懂了没有

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式