欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#自定义控件实现TextBox禁止粘贴的方法

程序员文章站 2023-12-10 08:40:58
本文实例讲述了c#自定义控件实现textbox禁止粘贴的方法。分享给大家供大家参考,具体如下: 开发环境:visual studio .net 2005 + window...

本文实例讲述了c#自定义控件实现textbox禁止粘贴的方法。分享给大家供大家参考,具体如下:

开发环境:visual studio .net 2005 + windows xp sp2 professional

新建->项目->windows控件库: 新建一个类,继承自textbox类,具体源代码如下:

using system;
using system.collections.generic;
using system.componentmodel;
using system.drawing;
using system.data;
using system.text;
using system.windows.forms;
namespace textbox_nopaste
{
  [description("继承自textbox,但加入了禁止粘贴功能")]
  public partial class uc_textbox_nopaste : textbox
  {
    public uc_textbox_nopaste()
    {
      initializecomponent();
    }
    //重写基本类的wndproc()
    protected override void wndproc(ref message m)
    {
      if (m.msg == 0x0302) //0x0302是粘贴消息
      {
        m.result = intptr.zero; //拦截此消息
        return;
      }
      base.wndproc(ref m); //若此消息不是粘贴消息,则交给其基类去处理
    }
  }
}

编译此源代码,就会生成一个.dll文件,如果其他项目中要用到此控件,只要先将它加至选项卡上,再往界面中拖一个出来就可以用了。

试试吧,继承了textbox的所有特性,增加了禁止粘贴功能。

同样的方法还可以自定义出自己喜欢的控件,如只能输入数字的控件。

更多关于c#相关内容感兴趣的读者可查看本站专题:《c#常见控件用法教程》、《c#窗体操作技巧汇总》、《c#数据结构与算法教程》、《c#面向对象程序设计入门教程》及《c#程序设计之线程使用技巧总结

希望本文所述对大家c#程序设计有所帮助。