• winform文本框不能粘贴、复制和屏蔽右键


    有3个常用方法

    1.MouseMove事件中,使选不中

    private void textBox3_MouseMove(object sender, MouseEventArgs e)
    {
    if (this.textBox3.SelectionLength > 0)
    {
    this.textBox3.SelectionStart = this.textBox1.TextLength;
    this.textBox3.SelectionLength = 0;
    }
    }

    2.

    新建一个类,取名为TextBox.cs,代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace frmLogin
    {
        public class TextBoxEx : System.Windows.Forms.TextBox
        {
            //
            //构造函数默认的
            //

            protected override void WndProc(ref   Message m)
            {
                if (m.Msg != 0x007B && m.Msg != 0x0301 && m.Msg != 0x0302)
                {
                    base.WndProc(ref m);
                }
            }

        } 
    }

    0x007B:鼠标右键 message ID

    0x0301:复制 (包括ctrl+c) message ID (其实这个判断不要,因为设置textbox的PasswordChar属性 实际上已经屏蔽了复制功能)

    0x0302:粘贴(包括ctrl+v) message ID

    更多的message ID 可以参考http://liuhao-27.blog.163.com/blog/static/115851126200941425617778/

    或查阅API手册

    当然,在这里的我们的工作还没有结束,我们需要在Login.Designer.cs中将txtPassword引用这个新的对象,

    this.txtPassword = new System.Windows.Forms.TextBox();

    改为:

    this.txtPassword = new frmLogin.TextBoxEx();

    3.textBox.ShortcutsEnabled 设置为false

  • 相关阅读:
    终端程序开机后自动运行
    SQLite 3 使用前要知道的
    JS 框架 :后台系统完整的解决方案
    JS 继承:extend、mixin 和 plugin(三)
    JS 控件事件
    JS 控件 jQuery扩展函数
    Js 控件编写 继承:extend、mixin和plugin(一)
    关于js new Date() 出现NaN 的分析
    js Dialog 实践
    JS控件 生命周期
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/3875002.html
Copyright © 2020-2023  润新知