我有一个我正在添加的对象列表。
private List<Employee> employees = new List<Employee>();
我的表单应用程序上有一个按钮,用于创建新的员工对象并将其添加到列表中。在点击之前,它会显示“Add Hourly Employee”。点击后,它会变为“每小时保存员工”。我只是使用布尔值来确定要显示的文本。
private void addHrlyEmpBtn_Click(object sender, EventArgs e)
{
resetBtn.Enabled = true;
cancelBtn.Enabled = true;
if (!addHourly)
{
resetBtn.Enabled = true;
cancelBtn.Enabled = true;
textBox4.Enabled = false;
textBox4.Text = (employees.Count + 1).ToString();
textBox7.Enabled = false;
addHrlyEmpBtn.Text = "Save Hourly Employee";
}
else if (addHourly)
{
//Grab values, create new object, and add to list.
//Set addHourly to false;
}
//Other stuff
}
我正在尝试向employees.Count + 1
显示textBox4
,但由于某种原因,它无效。根本没有显示任何文字。理想情况下,我希望禁用文本框但仍显示值。我只想在!addHourly
时显示它。
我做错了吗?
答案 0 :(得分:3)
你写的代码在校长中没有错。
我强烈建议为所有变量提供有意义的名称。像 textBox4 这样的名称可能会给您自己和未来的代码维护者造成混淆。
如果值未按预期更改,则很可能不会输入 if 分支。
在
处设置断点if (!addHourly)
查看 addHourly 是否具有您期望的值。
答案 1 :(得分:1)
检查是否正在调用addHrlyEmpBtn_Click。
如果没有尝试将Click事件与设计师的addHrlyEmpBtn_Click方法相关联
或在构造函数中添加addHrlyEmpBtn.Click += addHrlyEmpBtn_Click;