......
DataGridView dgv = new DataGridView();
dgv.Dock = DockStyle.Top;
tp.Controls.Add(dgv); Splitter spl = new Splitter();
spl.Name = "spl" + pn.ToString();
spl.BackColor = Color.ForestGreen;
spl.Dock = DockStyle.Top;
tp.Controls.Add(spl); WebBrowser wb = new WebBrowser();
wb.Name = "wb" + pn.ToString();
wb.Dock = DockStyle.Fill;
tp.Controls.Add(wb);
....用手动添加可以,用像上面动态添加却没效果出来,dgv spl wb 好像不在同一层一样,dgv spl会重叠锁定在上该,wb也一样重叠填充整个tp(TabPage).给他们全置顶(BringToFront)没用
DataGridView dgv = new DataGridView();
dgv.Dock = DockStyle.Top;
tp.Controls.Add(dgv); Splitter spl = new Splitter();
spl.Name = "spl" + pn.ToString();
spl.BackColor = Color.ForestGreen;
spl.Dock = DockStyle.Top;
tp.Controls.Add(spl); WebBrowser wb = new WebBrowser();
wb.Name = "wb" + pn.ToString();
wb.Dock = DockStyle.Fill;
tp.Controls.Add(wb);
....用手动添加可以,用像上面动态添加却没效果出来,dgv spl wb 好像不在同一层一样,dgv spl会重叠锁定在上该,wb也一样重叠填充整个tp(TabPage).给他们全置顶(BringToFront)没用
dgv.Dock = DockStyle.Top;
Splitter spl = new Splitter();
spl.Name = "spl" + pn.ToString();
spl.BackColor = Color.ForestGreen;
spl.Dock = DockStyle.Top; WebBrowser wb = new WebBrowser();
wb.Name = "wb" + pn.ToString();
wb.Dock = DockStyle.Fill; tp.Controls.Add(dgv);
tp.Controls.Add(spl);
tp.Controls.Add(wb);
spl.Name = "spl" + pn.ToString(); spl.Dock = DockStyle.Top;
tp.Controls.Add(spl);
tp.Controls.Add(wb);
tp.Controls.Add(dgv);
如果是
tp.Controls.Add(spl);
tp.Controls.Add(dgv);
tp.Controls.Add(wb);
则dgv为停在顶部sql也可以起作用,但是wb不起作用会填充整个tabpage,接第一种顺序则可以. 设计视图是第一个添加dgv 并设为top 再添加spl设为top 最后添加wb设为fill.开始我是按这个顺序写的源码,在设计视图也不能按源码顺序来添加.2楼的顺序其实和我贴出来的代码是一样的顺序.3楼的不要怀疑,自己可以去试下.
spl.Name = "spl" + pn.ToString();
这是命名,在此段源码中还是用spl来操作的不是.在对象被实例化后,可以通过name关键字来调用spl每个 .那时确定是不能再用spl了