我有一些按钮位于面板内部,如图所示(1) 它是一个用户控件。
我希望当有人使用我的用户控件时,当调整面板大小时,按钮大小和它们之间的空间会改变。
其实我想要图(3) 但是图(2) 会发生...
我将面板的 anchar 设置为 right、left、top、botton。如何修复图 3 中的按钮?!
最佳答案
1 - 为用户控件中的所有按钮设置“MaximumSize”和“MinimumSize”。像这样:
btnSave.MaximumSize = new Size(80, 30);
btnSave.MinimumSize = new Size(60, 30);
btnEdit.MaximumSize = new Size(80, 30);
btnEdit.MinimumSize = new Size(60, 30);
.
.
.
或从属性窗口设置。
2 - 将所有按钮的“Anchor”属性设置为 Left,Right
3 - 在您的用户控件中为“调整大小”事件编写以下代码
private void UserControl1_Resize(object sender, EventArgs e)
{
int lastLeft = 0 , lastWidth = 0 ;
foreach (Control ctrl in this.Controls)
{
ctrl.Left = lastLeft + lastWidth + 3;
lastLeft = ctrl.Left;
lastWidth = ctrl.Width;
}
}
注意:不要忘记您必须从面板中剪切按钮并将它们粘贴到用户控件中。您不需要面板并且可以将其删除。
希望这有用。
关于c# - 如何设置 anchar 以删除按钮之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22903363/