只允许输入数字的WinForms.TextBox
const int WM_CHAR = 0x0102; protected override void WndProc(ref System.Windows.Forms.Message m) { if (m.Msg == WM_CHAR) { if (((char)m.WParam >= '0') && ((char)m.WParam <= '9') || (int)m.WParam == (int)Keys.Back || (int)m.WParam == (int)Keys.Delete || (int)m.WParam == (int)Keys.Enter) { base.WndProc(ref m); } } else { base.WndProc(ref m); } }
代码中接管了控件的消息处理,这对我们控制用户的输入对象提供了一个新的思路,借由此,可以实现其他更多的用户输入控制。
我06年刚接触C#的时候,看到这段代码,真的是相当的景仰和佩服,嘿嘿。
浙公网安备 33010602011771号