[英]Validating WinForms TextBox (in C#)
在TextBox_Leave事件中,我需要檢查在文本框中輸入的數字是否為序列號。如果不是按順序排列,則我需要顯示一條消息,因為缺少“數字”
例如 :
在文本框中,我輸入了3,然后單擊選項卡:我需要顯示消息,因為“數字順序不正確,數字“ 1”和“ 2”缺失”
我不知道這是否也適用於c#2.0,這是我在c#3.0中的經驗:
為什么要使用TextBox_Leave? 驗證事件應用於驗證輸入是否正確。
結合使用Validating-event和ErrorProvider(您可以將其從工具箱拖到表單上)來設置錯誤消息:它將以紅色三角形(閃爍)顯示為感嘆號。
ErrorProvider也可以阻止任何提交動作。
一種技巧是在某些情況(缺少數字)的情況下嘗試離開(例如,使用TAB)時在文本框中保留焦點:
private void textBox1_Leave(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb.Text == "3")
tb.Focus();
}
假設您使用的是標准文本框。 您還可以使用第三方控件,在某些情況下可以在其中取消事件(例如,Cancel = true)。
嘗試使用Masked TextBox控件並為這種類型的字段驗證設置自定義屬性。
或者,您也可以使用文本框的Validating事件。
private void textBox1_Validating( object sender, CancelEventArgs e )
{
if ( textBox1.Text == "3" )
e.Cancel = true;
}
文本框在收到有效輸入之前不會失去焦點。
我將向您展示如何驗證Validating WinForms TextBox
(在C#中)。
創建一個函數:
public static void ChkBlankTextBoxes(object sender, string type) { if (sender is TextBox) { TextBox textbox = sender as TextBox; if (string.IsNullOrEmpty(textbox.Text)) { MessageBox.Show("Please enter correct value value.."); textbox.Focus(); } } }
調用創建的函數:
ChkBlankTextBoxes(txt_userID, textBoxtype); ChkBlankTextBoxes(txt_password, textBoxtype);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.