0

我有一个要添加的对象列表。

private List<Employee> employees = new List<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 + 1textBox4,但由于某种原因它不起作用。根本没有显示任何文本。理想情况下,我希望禁用文本框但仍显示该值。我只希望它在!addHourly.

难道我做错了什么?

4

2 回答 2

3

您编写的代码原则上没有任何问题。

我强烈建议为所有变量赋予有意义的名称。像textBox4这样的名称可能会给您自己和代码的未来维护者造成混淆。

如果该值没有像您预期的那样发生变化,那么您很可能没有输入if分支。

if (!addHourly)

查看addHourly是否具有您期望的值。

于 2012-09-27T18:48:14.877 回答
1

检查 addHrlyEmpBtn_Click 是否被调用。

如果没有尝试将 Click 事件与设计器的 addHrlyEmpBtn_Click 方法相关联

或者addHrlyEmpBtn.Click += addHrlyEmpBtn_Click;在构造函数中添加

于 2012-09-27T18:51:17.493 回答