1

Windows フォーム フォームに 3 つのタブがあります。で選択した RadioButton に応じてTabPages[0]、関連する TabPage にいくつかの動的コントロールを追加しました。コントロールが追加されたButton_Click場合、問題は、動的に追加されたコントロールを他の (無関係な) TabPage から削除できないことです。

これが私のコードです:

Label label235 = new Label();
TextBox tbMax = new TextBox();
label235.Name = "label235";
tbMax.Name = "txtBoxNoiseMax";
label235.Text = "Noise";
tbMax.ReadOnly = true;
label235.ForeColor = System.Drawing.Color.Blue;
tbMax.BackColor = System.Drawing.Color.White;
label235.Size = new Size(74, 13);
tbMax.Size = new Size(85, 20);

if (radioButton1.Checked)
{
    label235.Location = new Point(8, 476);
    tbMax.Location = new Point(138, 473);

    tabControl.TabPages[1].Controls.Add(label235);
    tabControl.TabPages[1].Controls.Add(tbMax);

    tabControl.TabPages[2].Controls.RemoveByKey("label235");
    tabControl.TabPages[2].Controls.RemoveByKey("tbMax");
}
else
{
    label235.Location = new Point(8, 538);
    tbMax.Location = new Point(138, 535);

    tabControl.TabPages[1].Controls.RemoveByKey("label235");
    tabControl.TabPages[1].Controls.RemoveByKey("tbMax");

    tabControl.TabPages[2].Controls.Add(label235);
    tabControl.TabPages[2].Controls.Add(tbMax);
}

どこでその間違いを犯していますか?

4

2 に答える 2

1

まず、tbMaxの名前は「tbMax」ではなく「txtBoxNoiseMax」です。そのため、上の TextBox を見つけることができませんRemoveByKey

毎回新しいコントロールを作成しています。

于 2010-04-22T07:32:16.100 に答える
0

lcがすでに述べたように:

TextBox 変数に名前を付けましたが、 txtBoxNoiseMaxtbMaxという名前を付けました。RemoveByKeyの説明を見ると、Nameプロパティで機能することがわかります。だから変えればいい

tbMax.Name = "txtBoxNoiseMax";

の中へ

tbMax.Name = "tbMax";
于 2010-04-22T07:40:00.387 に答える