の価値を持っている私は、私が来たことがある問題に関する現在の貢献で、同じ疑問に付属まで:
int altura = this.Size.Height;
int largura = this.Size.Width;
int alturaOffset = 10;
int larguraOffset = 10;
int larguraBotao = 100; //button widht
int alturaBotao = 40; //button height
for (int i = 0; i < 50; ++i)
{
if ((larguraOffset+larguraBotao) >= largura)
{
larguraOffset = 10;
alturaOffset = alturaOffset + alturaBotao;
var button = new Button();
button.Size = new Size(larguraBotao, alturaBotao);
button.Name = "" + i + "";
button.Text = "" + i + "";
//button.Click += button_Click;//function
button.Location = new Point(larguraOffset, alturaOffset);
Controls.Add(button);
larguraOffset = larguraOffset + (larguraBotao);
}
else
{
var button = new Button();
button.Size = new Size(larguraBotao, alturaBotao);
button.Name = "" + i + "";
button.Text = "" + i + "";
//button.Click += button_Click;//function
button.Location = new Point(larguraOffset, alturaOffset);
Controls.Add(button);
larguraOffset = larguraOffset+(larguraBotao);
}
}
予想される動作は、これは次のボタンが右マルギを超える場合は、必ずラインを壊し、あなたのウィンドウサイズの現在の状態を使用してボタンを生成します、ということですあなたのウィンドウのn。
あなたは高さと幅を割り当てなければなりません。 –
ともう一度あなたは有効な回答を得ていますが、まだそれを受け入れていないか、それが適切でない理由を説明しました。 – Adam