感谢博主分享
其他记录:
要求添加子窗体的 panel字体及大小 ,Font属性与子窗体Font属性一致。
通过更改子窗体控件的位置,或者在panel.Controls.Add(form)后,修改form的location,没有效果,且会导致子窗体无法显示。
有博主通过this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 解决win10下的子窗体控件大小问题,但对于该问题无效果。
20230223软件重启后发现位置又发生变化:
字体被更改,但是更改字体后仍无效果,将子窗体的所有控件的字体调整,仍不生效。
解决办法:(1)承接子窗体的Panel在.Controls.Add(From)后,调整位置location。(2)子窗体各控件,可通过panel或groupbox整体调整所在子窗体中的位置location。
然后,重启后生效,但是多次启动后仍出现错误。。。
Form1:子窗体
Form1 frm=new Form1();
frm.FormBorderStyle = FormBorderStyle.None;//去除边框
panel1.Controls.Add(frm);
frm.Show();
如果代码如上,那么问题来了:
System.ArgumentException: 无法将顶级控件添加到控件。
对代码进行修改,添加语句:frm.TopLevel = false;//让子窗体不置顶
Form1 frm=new Form1();
frm.FormBorderStyle = FormBorderStyle.None;//去除边框
frm.TopLevel = false;//让子窗体不置顶
frm.Dock = DockStyle.Fill;布满
panel1.Controls.Add(frm);
frm.Show();
需要的功能可以在子窗体内实现
解决问题