如何在返回到表单时清除文本字段
本文关键字:清除 文本 字段 表单 返回 | 更新日期: 2023-09-27 18:04:34
我想在表单再次聚焦时清除表单上的文本字段。下面是我想要清除名为user_textbox
和pwd_textbox
的文本字段的表单代码
namespace RDASMS
{
public partial class Login : Form
{
public Login()
{
InitializeComponent();
user_textbox.Clear();
pwd_textbox.Clear();
}
private void register_Click(object sender, EventArgs e)
{
Registration newuser = new Registration();
newuser.Show();
this.Hide();
}
private void submit_login_Click(object sender, EventArgs e)
{
int checkuser = string.CompareOrdinal(user_textbox.Text, "Admin");
if (checkuser == 0)
{
int checkpwd = string.CompareOrdinal(pwd_textbox.Text, "rnsit123");
if (checkpwd == 0)
{
Admin newuser = new Admin();
newuser.RefToLogin = this;
newuser.Show();
this.Hide();
}
else
MessageBox.Show("Invalid Password");
}
else
MessageBox.Show("Invalid Username");
}
}
}
您可以处理表单。激活事件来处理此事件,当激活时清除文本框。
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.activated.aspx你可以写一些像这样的代码:
foreach (Control c in yourForm.Controls)
{
if (c is TextBox)
{
((TextBox)c).Clear();
}
}
既然你在窗体上调用Hide
,这等于将Visible
设置为false
,你可以使用窗体的事件visblechange来清除你的TextFields
private void Form_VisibleChanged(object sender, EventArgs e){
if (this.Visible == true) {
user_textbox.Clear();
pwd_textbox.Clear();
}
}
我使用表单激活来确定表单是否已经恢复焦点