c# 将form窗体加载到tabcontrol后,滚动条失效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 将form窗体加载到tabcontrol后,滚动条失效相关的知识,希望对你有一定的参考价值。
原先的窗体是有滚动条的,现在我把他加到tabcontrol后,滚动条没了,我在tabpage里面autoScroll设为true了也没用,代码:
public static Main main;
private void tbMain_Layout(object sender, LayoutEventArgs e)
if (main == null)
main = new Main();
main.TopLevel = false;
main.Show();
main.Parent = tbMain;
else
main.Activate();
怎么才能实现滚动条
没错,就是这样,但我希望看到滚动条,如果不加到tabcontrol,可以,但是加到这里面就看不到了
追答你在tabcontrol里放一个panel,然后把窗体加到panel里试试。
追问一样的,我pannel设为自动滚动了,也是这样
winform 窗体加载的问题,C#里不同Panel中窗体的调用
窗体不能既是 MDI 子级,又是 MDI 父级
如图,有3个窗体form1在panel1中,form2在panel2中,form3 在panel3中 (在panel2右边),其中form1的按钮控制 form2和form3的加载 ,form2中的按钮控制form3的加载
代码(form1 中):
form2 frmSchedule = new form2();
frmSchedule.MdiParent = this;
panel2.Controls.Clear();
panel2.Controls.Add(frmSchedule);
frmSchedule.Dock = DockStyle.Fill;
frmSchedule.Show(); 没什么问题 ,但到了 form2 中就有出题了
form3 frmSchedule = newform3();
frmSchedule.MdiParent = this;
panel1.Controls.Clear();
panel1.Controls.Add(frmSchedule);
frmSchedule.Dock = DockStyle.Fill;
frmSchedule.Show();
怎么都出错,不是报MDI 容器窗体必须位于顶层就是报窗体不能既是 MDI 子级,又是 MDI 父级 的错误 , 都是换成独立的 panel,在form2中又找不到主窗体(就是父窗体中的panel 这个控件),折腾了1晚上实在搞不定啊,望哪位能帮帮小弟啊
你添加form2为form1的子窗体时 后面架子啊form3的代码还未执行 所以不会报错
再加载form3时候 form2已经是某个窗体(form1)的子窗体了 因此form2就不能是mdi父容器了 所以就报错了
你要做成什么效果说出来 也许是你的实现思路有问题 一般情况不会再子窗体中再添加子窗体的追问
我做了调整了,panel2和panel3同属主窗体了,现在是panel2中的按钮如何控制panel3中窗体的变化了
追答同form1按钮控制form2相同呀 真心不知道你要干嘛~~~~~也不好给你具体的意见
参考技术B 看了半天,不知道楼主你的需求是什么?以上是关于c# 将form窗体加载到tabcontrol后,滚动条失效的主要内容,如果未能解决你的问题,请参考以下文章
C#中form的窗体属性formborderstyle设置为none后就不能移动了
C# winform 中如何实现tabControl1控件页面跳转?通过主页面上的菜单栏(见图)选择后,并跳出相应的页面
C# winform中TabControl怎么在每个选项卡的卡头添加不同的图标