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 + 1に表示しようとしているのですtextBox4が、なぜかうまくいきません。テキストはまったく表示されていません。理想的には、テキスト ボックスを無効にしながら値を表示したいと考えています。そして、私はそれが表示されるようにしたい!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 に答える