《转》KeyEventArgs 的 SuppressKeyPress属性


如果键事件不应该发送到该控件,则为 true;否则为 false

为了阻止用户输入,可在 KeyDown 之类的事件处理程序中为此属性分配 true

SuppressKeyPress 设置为 true 也会将 Handled 设置为 true

public partial class NumberTextBox : TextBox
{
protected override void OnKeyDown(KeyEventArgs e)
{
int keyCode = (int)e.KeyCode;
e.SuppressKeyPress = !(
(keyCode > 47 && keyCode < 58) // 48-57 is key of 0-9
|| (keyCode > 95 && keyCode < 106) // 96-105 is key of 0-9
|| e.KeyCode == Keys.Back || e.KeyCode == Keys.Delete // back space , delete
|| e.KeyCode == Keys.Left || e.KeyCode == Keys.Right // left , right
|| (e.Control && e.KeyCode == Keys.C) // copy
|| (e.Control && e.KeyCode == Keys.V) // paste
|| (e.Control && e.KeyCode == Keys.X) // cut
|| (e.Shift && e.KeyCode == Keys.Home)
|| (e.Shift && e.KeyCode == Keys.End)
);
base.OnKeyDown(e);
}
}

列2: 大写控件

public partial class UpperTextBox : TextBox
{
protected override void OnTextChanged(EventArgs e)
{
if (!string.IsNullOrEmpty(this.Text))
{
int pos = this.SelectionStart;
this.Text = this.Text.ToUpper();
this.SelectionStart = pos;
}

base.OnTextChanged(e);
}
}

优质内容筛选与推荐>>
1、luoguP2657 [SCOI2009]windy数
2、cocos-lua学习笔记(四)HelloWorld结构分析
3、【ASP.NET开发】ADO.NET调用带输出参数的存储过程 分类: ASP.NET 2012-09-10 21:16 1261人阅读 评论(1) 收藏
4、ARGUMENT 7 选新市长解决环保问题
5、Ext 2.x JS模块依赖关系扑拓图


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号