C# 如何自动定位面板c上的按钮#
我有几个按钮要添加到表单上。在代码中,我设置了一些按钮属性:C# 如何自动定位面板c上的按钮#,c#,visual-studio-2010,C#,Visual Studio 2010,我有几个按钮要添加到表单上。在代码中,我设置了一些按钮属性: class DigitButton : Button { private static int digitBtnTag; public DigitButton() : base() { this.Size = new Size(30, 30); this.Tag = digitBtnTag; this.Text = (this.Tag).
class DigitButton : Button
{
private static int digitBtnTag;
public DigitButton()
: base()
{
this.Size = new Size(30, 30);
this.Tag = digitBtnTag;
this.Text = (this.Tag).ToString();
this.Margin = new Padding(2);
this.Padding = new Padding(2);
digitBtnTag++;
}
}
在MainForm.cs中,我有
for (int i = 0; i < dgtBtns.Length; i++)
{
dgtBtns[i] = new DigitButton();
dgtBtns[i].Click += new EventHandler(this.digitButtonClick);
digitPanel.Controls.Add(dgtBtns[i]);
}
for(int i=0;i
因此,当我启动一个程序时,我会在digitPanel上的一个位置看到我所有的按钮:(0;0),尽管有属性边界。那么,为什么这些按钮不能自动地在不同的方向上“按下”彼此呢?怎么做呢?这不是c#中控件的工作方式。我猜您是用java编程的,因为jave中的布局工作得很好,但c#
for(int i=0;i
您必须通过尝试和查看来确定位置参数,这不是c#中控件的工作方式。我猜您是用java编程的,因为jave中的布局工作得很好,但c#
for(int i=0;i
您必须通过尝试和查看来确定位置参数。您需要定义左侧和顶部,然后在每次循环时添加按钮高度或宽度以正确定位按钮,即
int bTop=0;
int bLeft=0;
for (int i = 0; i < dgtBtns.Length; i++)
{
dgtBtns[i] = new DigitButton();
dgtBtns[i].Click += new EventHandler(this.digitButtonClick);
dgtBtns[i].Top = bTop;
bTop += dgtBtns[i].Height;
digitPanel.Controls.Add(dgtBtns[i]);
}
intbtop=0;
int-bLeft=0;
对于(int i=0;i
每次循环时,您需要定义“左”和“上”,然后添加按钮高度或宽度,以正确定位按钮,即
int bTop=0;
int bLeft=0;
for (int i = 0; i < dgtBtns.Length; i++)
{
dgtBtns[i] = new DigitButton();
dgtBtns[i].Click += new EventHandler(this.digitButtonClick);
dgtBtns[i].Top = bTop;
bTop += dgtBtns[i].Height;
digitPanel.Controls.Add(dgtBtns[i]);
}
intbtop=0;
int-bLeft=0;
对于(int i=0;i
您是否尝试过使用密码
此外,此视频可能有助于:
您是否尝试过使用一个
此外,此视频可能有助于:
Windows窗体无法动态布局。WPF确实并且可能符合您的要求。FlowLayout面板可以为您出色地工作。Windows窗体没有动态布局的能力。WPF确实并且可能符合您的要求。FlowLayout panel可能对您非常有用。是的,我试过了,一切都很完美,但一个人告诉我,按钮可以自动放置在表单上,而无需设置位置属性,但可以设置边距属性“这不是c#中控件的工作方式”-这是一个大胆的说法,先生:D@JohnSmith我查一下,但是我没听说过有一次我试过了,一切都很完美,但是有一个人告诉我,按钮可以自动放置在窗体上,而不需要设置位置属性,但是设置边距属性“这不是c#中控件的工作方式”-这是一个大胆的说法,先生:D@JohnSmith我会查一查,但我还没听说过