c# keypress 事件中的 e.handled=false 问题!

privatevoidtextBoxSize_KeyPress(objectsender,KeyPressEventArgse){/*if((e.KeyChar>47&&... private void textBoxSize_KeyPress(object sender, KeyPressEventArgs e)
{
/* if ((e.KeyChar > 47 && e.KeyChar < 58) || e.KeyChar == 8 || e.KeyChar == 13)
{
e.Handled = false;
}
*/
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13)
{
e.Handled = true;
}

}

请问一下: 为什么注释之后,就可以得到想要的结果,而不注释前边,注释后边的时候,所有的字符都可以输入?请大家帮忙解答一下。
展开
 我来答
rightmin
推荐于2018-03-14 · TA获得超过4124个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:1803万
展开全部
KeyPressEventArgs.Handled 属性

获取或设置一个值,该值指示是否处理过 KeyPress 事件。

属性值
类型:System.Boolean

如果处理过事件,则为 true;否则为 false。

备注
如果未处理事件,则会将它发送到操作系统进行默认处理。将 Handled 设置为 true,以取消 KeyPress 事件。

以上来源MSDN。

解释:
就是说如果将Handled 设为True,那么KeyPress事件将会取消,这样就是说你按下了某个个按键了,但是系统不处理了,等于没按!!!
九州通刘钦
2012-11-12
知道答主
回答量:3
采纳率:0%
帮助的人:2450
展开全部
如果不设置,默认的是false;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江小右
2009-11-24 · TA获得超过6928个赞
知道小有建树答主
回答量:1195
采纳率:0%
帮助的人:831万
展开全部
为什么?你把false改为true就知道了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式