2012-12-23 56 views
-3

我有一個FormTextBox。我想阻止用戶移動到下一張表格而不填充黑色TextBox。我怎樣才能做到這一點?防止用戶移動到下一個表格

if(textBox.Text.Length == 0) 
    MessageBox.Show("Have To Fill All The Fields!"); 

我還需要補充些什麼?

回答

3

添加處理程序Validating事件並使用錯誤提供商設置驗證錯誤控制:

void textBox_Validating(object sender, CancelEventArgs e) 
{ 
    string error = null; 
    if(textBox.Text.Length == 0) { 
    error = "Please enter this value"; 
    e.Cancel = true; 
    } 
    errorProvider1.SetError((Control)sender, error); 
} 

您可以使用相同的處理好文本框控件(只使用從事件參數發送方獲得特定文本框實例)。

1
private void Form_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     if (textBox.Text.Length == 0) 
     { 
      MessageBox.Show("Please fill the field"); 
      e.Cancel = true; 
     } 
    } 
+0

+1短和清潔 – cppanda

0

你還想要什麼?
的代碼會是這樣的,對於未來移動窗體上

protected void btn_Click(object sender, EventArgs e) 
{ 
    if(textBox.Text.Length == 0) 
    { 
      MessageBox.Show("Have To Fill All The Fields!"); 
      textBox.focus(); 
    } 
    else 
    { 
      // Work to move on next form 
    } 
}