在我的表格中,几乎有30-35个控件,有些被禁用,有些被禁用,如果该人未婚并且如果用户选择他们已婚,则控制器已启用,则禁用配偶名称。
最初提交按钮已被禁用,但只要填写了所有已启用的字段,我就希望提交按钮自动启用。
我已为此目的完成了此代码。
if ((nametxt.Text != null) && (f_nametxt.Text != null) &&
(m_nametxt.Text != null) && (gotra_txt.Text != null) &&
(panthcb.Text != null) && (fhntext.Text != null) &&
(edulvlcb.Text != null) && (bloodcb.Text != null) &&
(MarritalStatus != null) && (s_nametxt.Text != null) &&
(s_edulvlcb.Text != null) && (s_bgcb.Text != null) &&
(ressi_addresstxt.Text != null) && (ressi_phnotxt.Text != null) &&
(mobi_notxt.Text != null) && (office_addresstxt.Text != null) &&
(occup_typetxt.Text != null) && (occup_naturecb.Text != null) &&
(office_phno1txt.Text != null) && (office_mobnotxt.Text != null))
{
submit_addbtn.Enabled = true;
}
我不知道这是否正确以及我应该在哪里(在哪种情况下)。
请告诉我并帮助我。
以下是代码完成文本框的keydown事件,此事件未触发
private void mobi_notxt_KeyDown(object sender, KeyEventArgs e)
{
foreach (Control c in this.Controls)
{
TextBox txt = c as TextBox;
if (txt != null)
{
if (!(txt.Enabled && txt.Text != ""))
{
allFilled = false;
break;
}
}
}
if (allFilled)
{
submit_addbtn.Enabled = true;
}
else
{
submit_addbtn.Enabled = false;
}
}
答案 0 :(得分:1)
您可以遍历所有TextBox控件并检查它们是否已启用。如果是,请检查Text属性。
bool allFilled = true;
foreach (Control c in this.Controls)
{
TextBox txt = c as TextBox;
if (txt != null)
{
if (txt.Enabled && txt.Text == "")
{
allFilled = false;
break;
}
}
}
if (allFilled)
{
button1.Enabled = true;
} else
{
button1.Enabled = false;
}
因此,如果每个启用的字段包含某些内容,则allFilled布尔值将为true,而在另一种情况下则为false。
您可以根据自己喜欢的任何事件进行分配。 例如,您分配给所有文本框的按键事件