C#winform - 相当于InputScope
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#winform - 相当于InputScope相关的知识,希望对你有一定的参考价值。
Winform(.Net 4.0)中的属性是否等同于UWP中的InputScope?
答案
不,我不相信。您需要使用Validating事件
例如,如果您想确保文本框包含电子邮件,您可以执行以下操作:
private void textBox1_Validating(object sender,
System.ComponentModel.CancelEventArgs e)
{
string errorMsg;
if(!ValidEmailAddress(textBox1.Text, out errorMsg))
{
// Cancel the event and select the text to be corrected by the user.
e.Cancel = true;
textBox1.Select(0, textBox1.Text.Length);
// Set the ErrorProvider error with the text to display.
this.errorProvider1.SetError(textBox1, errorMsg);
}
}
private void textBox1_Validated(object sender, System.EventArgs e)
{
// If all conditions have been met, clear the ErrorProvider of errors.
errorProvider1.SetError(textBox1, "");
}
public bool ValidEmailAddress(string emailAddress, out string errorMessage)
{
// Confirm that the email address string is not empty.
if(emailAddress.Length == 0)
{
errorMessage = "email address is required.";
return false;
}
// Confirm that there is an "@" and a "." in the email address, and in the correct order.
if(emailAddress.IndexOf("@") > -1)
{
if(emailAddress.IndexOf(".", emailAddress.IndexOf("@") ) > emailAddress.IndexOf("@") )
{
errorMessage = "";
return true;
}
}
errorMessage = "email address must be valid email address format.
" +
"For example 'someone@example.com' ";
return false;
}
以上是关于C#winform - 相当于InputScope的主要内容,如果未能解决你的问题,请参考以下文章
WPF InputScope 在 Dialoghost .NET 6 上不起作用
UWP的TextBox和PasswordBox使用输入范围更改触摸键盘InputScope