本文實例講述了C#自定義控件實現TextBox禁止粘貼的方法。分享給大家供大家參考,具體如下:
開發環境:Visual Studio .net 2005 + Windows XP sp2 professional
新建->項目->Windows控件庫: 新建一個類,繼承自TextBox類,具體源代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
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#程序設計有所幫助。