我有一個簡單的庫存應用程序,我正在努力幫助自己學習C#。我有一個註冊Windows窗體,將用戶添加到數據庫,以便他們可以登錄到應用程序。有用。不過,我現在正在努力添加一些文本框驗證。我有三個文本框,如果它們是空的,它們將在它們旁邊填充標籤。但是,我無法弄清楚如何在輸入文本後將標籤置空或隱藏。有什麼建議麼?一旦輸入文本,驗證文本框不是空標籤和隱藏標籤
這是我在createButton_Click方法代碼:
private void createButton_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|FAMDatabase.accdb");
OleDbCommand fcmd = new OleDbCommand("INSERT INTO Login([UserName],[Password])" + "values(@username,@password)", con);
fcmd.Parameters.AddWithValue("@username", newUserTextBox.Text);
fcmd.Parameters.AddWithValue("@password", newPasswordTextBox.Text);
if (string.IsNullOrEmpty(newUserTextBox.Text))
{
reqName.Text = ("Please enter a User Name");
}
if (string.IsNullOrEmpty(newPasswordTextBox.Text))
{
reqPW.Text = ("Please enter a Password");
}
else if (newPasswordTextBox.Text != newPasswordTextBox2.Text)
{
reqPW2.Text = ("Passwords Do Not Match");
}
else
{
con.Open();
int i = fcmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(
"User Successfully Created",
"",
MessageBoxButtons.OK,
MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1);
this.Close();
}
}
感謝您的回覆。我想澄清一下,我可以驗證工作正常。但是當用戶去填寫用戶名的文本框時,例如錯誤標籤仍顯示「請輸入用戶名」消息。我猜我將需要使用textChanged事件? – LearningCSharp
@LearningCSharp您的評論:_我可以驗證工作正常。但是,當用戶去填寫用戶名稱的文本框,例如錯誤標籤仍顯示「請輸入用戶名」消息。所以它工作正常,除了???我在答覆中發佈的代碼按照您的要求提供。一旦用戶開始輸入'newUserTextBox' ...'reqName'標籤的文本「請輸入用戶名」將不會顯示。直到用戶刪除'newUserTextBox'中的文本,它纔會繼續顯示。我猜我可能會錯過一些東西。 – JohnG
我能夠通過刪除私有的無效SetLabels()方法來實現它。用它,它將標籤設置爲加載的表單時的錯誤。 – LearningCSharp