C# 是否可以使用MaskedTextBox接受十六进制格式的输入?
是否可以使用MaskedTextBox接受十六进制格式的用户输入?正常的解决方案类似于接受密钥输入,如果它不是允许的字符,则放弃。还有其他方法吗?可能会更改框的类型,将其设置为字符串,然后将字符串重新格式化为十六进制。可能会更改框的类型,将其设置为字符串,然后将字符串重新格式化为十六进制。否,MaskedTextBox不能用于通过使用掩码将输入限制为十六进制,但任何文本框都可以通过将事件处理程序附加到KeyUp(或KeyPress)事件来使用。然后,处理程序可以根据十六进制集([0-9a-fA-F])检查键入的字符,如果无效,则拒绝按键。否,不能使用掩码将输入限制为十六进制,但可以通过将事件处理程序附加到KeyUp(或KeyPress)事件来使用任何文本框。然后,处理程序可以根据十六进制集([0-9a-fA-F])检查键入的字符,如果无效,则拒绝按C# 是否可以使用MaskedTextBox接受十六进制格式的输入?,c#,user-controls,C#,User Controls,是否可以使用MaskedTextBox接受十六进制格式的用户输入?正常的解决方案类似于接受密钥输入,如果它不是允许的字符,则放弃。还有其他方法吗?可能会更改框的类型,将其设置为字符串,然后将字符串重新格式化为十六进制。可能会更改框的类型,将其设置为字符串,然后将字符串重新格式化为十六进制。否,MaskedTextBox不能用于通过使用掩码将输入限制为十六进制,但任何文本框都可以通过将事件处理程序附加到KeyUp(或KeyPress)事件来使用。然后,处理程序可以根据十六进制集([0-9a-fA-
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;
}
}
用于十六进制字符控制
用于十六进制字符控制