有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

winform文本框不能粘贴、复制和屏蔽右键的更多相关文章

  1. Winform文本框只能输入限定的文本

    比如WInform中的文本框只能输入数字活着字母和退格键,e.kaychar(按下键盘的值)

  2. WinForm 文本框验证

    这是一个自定义控件,继承了TextBox,在TextBox基础上添加了4个属性(下载): 1.ControlType 文本框需要验证的类型 2.ControlTypeText 显示的文字(只读) 3. ...

  3. c# winform文本框数字,数值校验

    文本框数字,数值校验 public void DigitCheck_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = !char.I ...

  4. 多个文本框点击复制 zClip (ZeroClipboard)有关问题

    <script type="text/javascript" src="js/jquery.min.js"$amp;>amp;$lt;/script ...

  5. C# Winform 文本框默认提示信息

    private string Notes = "提示文本"; private void textBox1_Leave(object sender, EventArgs e) { / ...

  6. Winform 文本框多线程赋值

    delegate void SetTextCallback(string text); private void showClientMsg(string text) { // InvokeRequi ...

  7. .net(c#) winform文本框只能输入数字,不能其他非法字符

    private void textBox3_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { //阻止从键盘输入键 ...

  8. 关于winform文本框怎么实现html的placeholder效果

    winfrom默认是不支持这种操作的,此时需要重写控件操作,具体代码如下: public class TextBoxEx : TextBox { public String PlaceHolderSt ...

  9. C#,WinForm文本框录入内容判断

    || e.KeyChar > ) && (e.KeyChar != ) && (e.KeyChar != ) && (e.KeyChar != ) ...

随机推荐

  1. springmvc编码问题

    web.xml中加入 <filter> <filter-name>encodingFilter</filter-name> <filter-class> ...

  2. HDUOJ --2544最短路(基础)

    输入包括多组数据.每组数据第一行是两个整数N.M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所在地,M则表示在成都有几 ...

  3. iOS高级教程:处理1000张图片的内存优化

    一.项目需求 在实际项目中,用户在上传图片时,有时会一次性上传大量的图片.在上传图片前,我们要进行一系列操作,比如:旋转图片为正确方向,压缩图片等,这些操作需要将图片加载到内存中,下面对内存的使用做详 ...

  4. Google map API V3

    本文主要总结Google map API V3使用中最简单也是最常见的一些操作以及相关概念,如果需要更加详细的信息,请直接阅读Google提供的关于map的文档. google map api v3文 ...

  5. Hadoop DistCp 使用指南

    原文地址:http://hadoop.apache.org/docs/r1.0.4/cn/distcp.html 概述 使用方法 基本使用方法 选项 选项索引 更新和覆盖 附录 Map数目 不同HDF ...

  6. iOS - UnitTests 单元测试

    1.UnitTests 在计算机编程中,单元测试(又称为模块测试, Unit Testing)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编 ...

  7. 【Linux】排序命令uniq

    很多时候,我们都会去计算一次数据里头的相同型态的数据总数,举例来说, 使用 last 可以查得这个月份有登陆主机者的身份.那么我可以针对每个使用者查出他们的总登陆次数吗? 此时就得要排序与计算之类的命 ...

  8. MySQL变量的定义与赋值

    MySQL存储过程中,定义变量有两种方式:1.使用set或select直接赋值,变量名以 @ 开头.例如:set @var=1;可以在一个会话的任何地方声明,作用域是整个会话,称为会话变量. 2.以 ...

  9. cocos2dx 3.3 场景切出时RenderTexture crash

    在cocos2dx 3.3中下面myScene在切出时会存在概率性崩溃(代码作了最大程度简化,仅为说明问题): class CmyLayer:public Layer{ public: CmyLaye ...

  10. Spring Cloud构建微服务架构(四)分布式配置中心(续)

    先来回顾一下,在前文中我们完成了什么: 构建了config-server,连接到Git仓库 在Git上创建了一个config-repo目录,用来存储配置信息 构建了config-client,来获取G ...