是否可以使用MaskedTextBox接受十六进制格式的用户输入?正常的解决方案是接受按键输入,如果不是允许的字符,则丢弃。还有其他方法吗?
发布于 2011-06-03 23:35:16
不,MaskedTextBox不能用于通过使用掩码将输入限制为十六进制,但是可以通过将事件处理程序附加到KeyUp (或KeyPress)事件来使用任何文本框。然后,处理程序可以对照十六进制集合(0-9a-fA-F)检查键入的字符,如果无效,则拒绝按下。
发布于 2011-06-03 23:33:44
也许可以改变box的类型,使其成为字符串,然后将字符串重新格式化为十六进制。
发布于 2012-12-13 16:08:59
private: System::Void maskedTextBox1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)
{
String^ temp = "012345679abcdefABCDEF";
if (temp->IndexOf(e->KeyChar) == -1)
{
e->Handled = true;
}
}将其用于十六进制字符控制。
https://stackoverflow.com/questions/6229017
复制相似问题