-1

最後に作成されたボタンの位置、またはパネルの端に近いボタンの位置を保持して、その直後に追加する方法を知りたいです。さらに、この新しいボタンの名前に、最後のボタンの後のインデックスを付けたいと思います。ボタンをもう一度クリックすると、名前は addstrat_3 になります。

私のコードは:

    private void addstrat_i_Click(object sender, EventArgs e)
    {
        panel3strat.Width += 200;
        Button addstrat_2 = new Button();
        panel3strat.Controls.Add(addstrat_2); 
        addstrat_2.Size = new Size(210, 41);
        addstrat_2.Location = new Point(31,89);
        addstrat_2.Visible = true;   
     }

この場合、ボタンを名前付きの場所に配置しますが、最後のボタンの下に新しい名前で作成したいだけです。

何か案が ?

ありがとう

4

3 に答える 3

1

ボタンオブジェクトの単純なリストを使用して追跡することができます

List<Button> btlist= new List<Button>()
于 2013-04-29T16:10:25.197 に答える
0
private Button lastAddedBtn = null;

private void addstrat_i_Click(object sender, EventArgs e)
{
    panel3strat.Width += 200;
    Button addstrat_2 = new Button();

    addstrat_2.Size = new Size(210, 41);
    addstrat_2.Location = new Point(31,89);
    addstrat_2.Visible = true;  

    panel3strat.Controls.Add(addstrat_2);
    lastAddedButton = addstrat2;

}

次のようなことができます。最後に追加されたボタンへの参照をプライベート フィールドに保存します。その後、他の場所からそのプロパティにアクセスできます。

于 2013-04-29T16:10:40.890 に答える
0

配置を処理するクラスにボタンをカプセル化します。見てStackPanel、それに似たものを作成してみてください。

于 2013-04-29T16:11:23.550 に答える