gpt4 book ai didi

c# - 从 Windows 窗体中删除控件并调整其他控件以适应

转载 作者:太空宇宙 更新时间:2023-11-03 11:36:19 24 4
gpt4 key购买 nike

我有一个 Windows 窗体应用程序,我可以通过单击一个按钮来添加用户控件。我还可以一次删除一个控件,方法是选择它并单击删除按钮。一切正常,但如果我添加三个控件并删除第二个控件,则窗体上剩余的两个控件之间会有间隙。我想让所有剩余的控件上移以填补空白。

像这样:

//添加三个控件,我们有这个:
控制1
控制2
控制3

//删除Control2,我们现在有这个:
控制1

控制3

//我想要的是这样的:
控制1
控制3

这是我尝试过的方法,但它没有完成工作

private void btQuestionDelete_Click(object sender, EventArgs e)
{
bool adjustMode = false;
int height = 0;

foreach (Control c in this.tpQuestions.Controls)
{
if (c is QuestionControl)
{
if (adjustMode)
{
int moveUpBy = c.Top - height;
c.Top = moveUpBy;
c.Parent.Refresh();
}
else
{
QuestionControl q = (QuestionControl)c;
if (q.IsSelected)
{
this.tpQuestions.Controls.Remove(c);
adjustMode = true;
height = q.Height;
}
}
}
}
}

最佳答案

也许您想看看 flowLayoutPanels ?

关于c# - 从 Windows 窗体中删除控件并调整其他控件以适应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6189795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com