SetBounds定位不准确问题

XiaoYi96 2019-02-27 05:51:11
我在winform主页中,点击按钮,用SetBounds打开新界面,可是新打开的界面,只有第一次打开时起始位置准确,之后,每点击一次,就会往右下角移动一段距离,请问这情况谁遇到过?

下面是简化代码以及方法:

//打开新界面
private void dakai(Form formChild)
{
formChild.MdiParent = this;
formChild.SetBounds(0, 0, formChild.Width,formChild.Height);
formChild.Show();
}
//关闭旧界面
private void guanbi()
{
Form activeChild = this.ActiveMdiChild;
activeChild.Close();
}
//点击事件
private void dianji(){
guanbi();
dakai(new jiemian());
}
下面是图:


...全文
292 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
FainSheeg 2019-02-28
  • 打赏
  • 举报
回复
把startposition设置为manual
FainSheeg 2019-02-28
  • 打赏
  • 举报
回复
用location试试
XiaoYi96 2019-02-28
  • 打赏
  • 举报
回复
引用 1 楼 FainSheeg 的回复:
这是正常的,子窗体在母窗体的初始位置就是这样排的,就是为了防止所有子窗体重叠在一起,你可以打开多个窗体试一下就知道 了,要固定初始位置的话直接用代码写死。

SetBounds(0, 0, formChild.Width,formChild.Height);这个代码的前两个参数不就是起始位置吗?我已经写死为00了呀
assky124 2019-02-28
  • 打赏
  • 举报
回复
铺满么,设置子窗体最大化试试
FainSheeg 2019-02-28
  • 打赏
  • 举报
回复
这是正常的,子窗体在母窗体的初始位置就是这样排的,就是为了防止所有子窗体重叠在一起,你可以打开多个窗体试一下就知道 了,要固定初始位置的话直接用代码写死。
XiaoYi96 2019-02-28
  • 打赏
  • 举报
回复
引用 2 楼 assky124 的回复:
铺满么,设置子窗体最大化试试
谢谢,最大化之后解决了

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧