QQ的登陆界面的那两个框,大家应该很熟悉了,QQ的密码框,无法复制和粘贴,其实实现起来也很简单。
这里就要用到控件重写。打开Visual Studio 新建 类库 然后继承TextBox,重写消息循环WndProc,这里捕获WM_CHAR就能实现特定的字符能不能输入,捕获WM_PASTE就能实现粘贴时候的一些操作。
public class Class1:TextBox
{
protected override void WndProc(ref Message m)
{
int charcode = (int)m.WParam;
switch (m.Msg)
{
case 0x0102://WM_CHAR
if(charcode == 97)
return;
break;
case 0x0302://WM_PASTE
IDataObject obj = Clipboard.GetDataObject();
if (obj.GetDataPresent(DataFormats.Text))
{
String clip = (String)obj.GetData(DataFormats.Text);
}