C#winform - 相当于InputScope

问题描述 投票:0回答:1

Winform(.Net 4.0)中的属性是否等同于UWP中的InputScope?

c# .net-4.0
1个回答
2
投票

不,我不相信。您需要使用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.\n" +
      "For example '[email protected]' ";
      return false;
}
© www.soinside.com 2019 - 2024. All rights reserved.