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 上不起作用

C# winform是啥

UWP的TextBox和PasswordBox使用输入范围更改触摸键盘InputScope

C# winform 怎么让窗体接受条码扫描器的输入

c#Winform有能支持IE,Firefox,Chrome,Safari浏览器的控件吗

如何在 C# Winforms 表单之间转换?