我已经写了部分代码来禁用组合框。但是看看这个,它并不像是一个很好的和最佳的方式来做它(它工作,但它不觉得正确)。
我已经创建了一个组合框对象列表。
InputCheck.Add(PAR_G_P_19_M);
InputCheck.Add(PAR_G_P_20_M);
InputCheck.Add(PAR_G_P_21_M);
InputCheck.Add(PAR_G_P_25_M);
字符串
并且如果所选索引发生更改,它将使用函数
foreach (ComboBox combo in InputCheck)
{
combo.SelectedIndexChanged += Check;
}
型
现在我的主要问题。据我目前所知,我已经写了禁用组合框这种方式。
if (PAR_G_P_19_M.SelectedIndex > 0)
{
PAR_G_P_19_M.Enabled = true;
PAR_G_P_20_M.Enabled = false;
PAR_G_P_20_A.Text = "0";
PAR_G_P_20_A.Enabled = false;
PAR_G_P_21_M.Enabled = false;
PAR_G_P_21_A.Text = "0";
PAR_G_P_21_A.Enabled = false;
PAR_G_P_25_M.Enabled = false;
PAR_G_P_25_A.Text = "0";
PAR_G_P_25_A.Enabled = false;
}
else if (PAR_G_P_20_M.SelectedIndex > 0)
{
PAR_G_P_19_M.Enabled = false;
PAR_G_P_19_A.Text = "0";
PAR_G_P_19_A.Enabled = false;
PAR_G_P_20_M.Enabled = true;
PAR_G_P_21_M.Enabled = false;
PAR_G_P_21_A.Text = "0";
PAR_G_P_21_A.Enabled = false;
PAR_G_P_25_M.Enabled = false;
PAR_G_P_25_A.Text = "0";
PAR_G_P_25_A.Enabled = false;
}
else if (PAR_G_P_21_M.SelectedIndex > 0)
{
PAR_G_P_19_M.Enabled = false;
PAR_G_P_19_A.Text = "0";
PAR_G_P_19_A.Enabled = false;
PAR_G_P_20_M.Enabled = false;
PAR_G_P_20_A.Text = "0";
PAR_G_P_20_A.Enabled = false;
PAR_G_P_21_M.Enabled = true;
PAR_G_P_25_M.Enabled = false;
PAR_G_P_25_A.Text = "0";
PAR_G_P_25_A.Enabled = false;
}
else if (PAR_G_P_25_M.SelectedIndex > 0)
{
PAR_G_P_19_M.Enabled = false;
PAR_G_P_19_A.Text = "0";
PAR_G_P_19_A.Enabled = false;
PAR_G_P_20_M.Enabled = false;
PAR_G_P_20_A.Text = "0";
PAR_G_P_20_A.Enabled = false;
PAR_G_P_21_M.Enabled = false;
PAR_G_P_21_A.Text = "0";
PAR_G_P_21_A.Enabled = false;
PAR_G_P_25_M.Enabled = true;
}
else
{
PAR_G_P_19_M.Enabled = true;
PAR_G_P_19_A.Enabled = true;
PAR_G_P_20_M.Enabled = true;
PAR_G_P_20_A.Enabled = true;
PAR_G_P_21_M.Enabled = true;
PAR_G_P_21_A.Enabled = true;
PAR_G_P_25_M.Enabled = true;
PAR_G_P_25_A.Enabled = true;
}
型
如果一个组合框在trigger selectedindexchange之后有值,则禁用rest
怎样才能把这个函数写得更好?我这样做感觉蛮强迫的。
1条答案
按热度按时间rxztt3cl1#
让我们更好地组织控件,并通过使用元组将文本框包含在输入检查变量中。这也将允许我们在循环中处理它们。我们把它做成一个数组,因为它的大小永远不会改变。
字符串
在表单构造函数中,我们初始化:
型
事件处理程序现在使用循环:
型
你可以在这里阅读更多关于元组的内容