高分求解Splitter的问题 我要在一个TabPage上放置两个控件,下面一个DataGrid,上面一个Panel,用Splitter分隔.DataGrid的Dock属性为Bottom,Splitter的Dock属性也为Bottom,Panel的Dock属性为Fill.如果我用设计器来放置控件可以达到目的,但是我动态的生成控件,并设置好属性,然后把这三个控件一次加入到TabPage上,就不行.Splitter跑到最下面去了,达不到分隔的目的了.请问怎么解决这个问题? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 按顺序来设置各个控件的DOCK属性,应该没问题的。 //1.创建一个Tab页并加到Tab控件上 TabPage tabpageNew = new TabPage(module.Caption); tabpageNew.Tag = module; NewGrid.Dock = System.Windows.Forms.DockStyle.Bottom; //3.在Tab页上增加一个Splitter控件 System.Windows.Forms.Splitter NewSplitter = new System.Windows.Forms.Splitter(); NewSplitter.Height = 5; NewSplitter.BackColor = Color.Red; NewSplitter.Visible = true; NewSplitter.Dock = System.Windows.Forms.DockStyle.Bottom; //4.添加一个Panel控件 System.Windows.Forms.Panel TopPanel = new System.Windows.Forms.Panel(); TopPanel.Dock = System.Windows.Forms.DockStyle.Fill; //5.把VGrid添加到Panel上,且Dock为Fill TopPanel.Controls.AddRange(new Control[]{NewVGrid}); NewVGrid.Dock = System.Windows.Forms.DockStyle.Fill; tabpageNew.Controls.AddRange(new Control[]{NewGrid,NewSplitter,TopPanel}); tabBody.TabPages.AddRange(new TabPage[] { tabpageNew });源代码,如上,有什么问题么? 这是原因层的问题!在设计器选中Splitter >> 右键 >> 置于顶层 即可! 你动态设置dock属性了吗?>很简单的冬冬啊!!~~ to 3tzjq(永不言弃),我的控件都是在程序中动态生成的哦.to xiao_p(曼沙珠华),我的代码中有动态地设定Dock属性了啊,如下:NewVGrid.Dock = System.Windows.Forms.DockStyle.Fill; 重新按次序设置control的dock属性 to 3tzjq(永不言弃),搞定了,就是层次的问题,生成之后我再一次调用了控件的BringToFront方法就ok了,谢谢3tzjq(永不言弃)以及各位. asp.net 程序附加到进程ie 时 提示 当前不会命中断点,还没有为该文档加载任何符号 在一个静态方法的内部,如何获得调用此静态方法的类名? 各位 我在winform里面放了个webbroswer控件,在里面的页面如何访问其它窗体? 请教怎样从别的代码中导入一个窗体? 数组做参数,为什么不对 一个线程问题 奇怪的,找不到类型或命名空间 问题。 C#入门问题,请帮我解决一下 简单问题。这句代码应该写在哪? 怎样在datagrid控件里对某字段,根据不同条件显示出不同图标??? 通信方面的问题 用C#写监视系统日志(Win32_NTLogEvent)访问遭到拒绝的问题~
TabPage tabpageNew = new TabPage(module.Caption);
tabpageNew.Tag = module; NewGrid.Dock = System.Windows.Forms.DockStyle.Bottom; //3.在Tab页上增加一个Splitter控件
System.Windows.Forms.Splitter NewSplitter = new System.Windows.Forms.Splitter();
NewSplitter.Height = 5;
NewSplitter.BackColor = Color.Red;
NewSplitter.Visible = true;
NewSplitter.Dock = System.Windows.Forms.DockStyle.Bottom; //4.添加一个Panel控件
System.Windows.Forms.Panel TopPanel = new System.Windows.Forms.Panel();
TopPanel.Dock = System.Windows.Forms.DockStyle.Fill;
//5.把VGrid添加到Panel上,且Dock为Fill
TopPanel.Controls.AddRange(new Control[]{NewVGrid});
NewVGrid.Dock = System.Windows.Forms.DockStyle.Fill; tabpageNew.Controls.AddRange(new Control[]{NewGrid,NewSplitter,TopPanel}); tabBody.TabPages.AddRange(new TabPage[] {
tabpageNew
});
源代码,如上,有什么问题么?
在设计器选中Splitter >> 右键 >> 置于顶层 即可!
很简单的冬冬啊!!~~
to xiao_p(曼沙珠华),我的代码中有动态地设定Dock属性了啊,如下:
NewVGrid.Dock = System.Windows.Forms.DockStyle.Fill;