zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    logstash performance testing
    Elasticsearch ML
    jconsole远程监控logstash agent
    kafka总结
    cloudera learning8:MapReduce and Spark
    cloudera learning7:Hadoop资源管理
    cloudera learning6:Hadoop Security
    cloudera learning5:Hadoop集群高级配置
    查看硬件设备指令
    内存问题
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/3875002.html
Copyright © 2011-2022 走看看