最近在研究C#操作Api。写了点例子,拿出来分享。
先来第一个吧。呵呵。最基本的TextBox。
相信在项目的开发过程中应该都会遇到要求TextBox实现特定的输入,我原来的处理方法是正则,呵呵 。比较恶心的方法。
现在发现用Api是如此的方便,代码示例下:
//右键菜单消息
public const int WM_CONTEXTMENU = 0x007b;
//粘贴消息
public const int WM_PASTE = 0x0302;
//输入字符消息
public const int WM_CHAR = 0x0102;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_CHAR)
{
int keyChar = (Int32)m.WParam;
bool charOk = (keyChar > 47 && keyChar < 58) || keyChar == 8 || keyChar == 3 || keyChar == 22 || keyChar == 24;
if (!charOk)
{
return;
}
}
//控制粘贴的。
if (m.Msg == WM_PASTE)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
string str = (string)iData.GetData(DataFormats.Text);
if (!Regex.IsMatch(str, @"^(\d{1,})$"))
{
return;
}
}
}
base.WndProc(ref m);
}
代码很简单。。呵呵。今天先这样吧。88
浙公网安备 33010602011771号