加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – DockStyle填充RunTime生成的控件

发布时间:2020-12-15 04:26:31 所属栏目:百科 来源:网络整理
导读:我正在尝试做一些非常简单的事情,这给了我C# Winforms的巨大问题.我在TabPage上有两个组框.一个停靠在右边,一个停靠在底部.我在页面上也有一个图表(System. Windows.Forms.DataVisualization.Charting).此图表是Dock.Fill页面上的剩余空间. 我第一次遇到图表
我正在尝试做一些非常简单的事情,这给了我C# Winforms的巨大问题.我在TabPage上有两个组框.一个停靠在右边,一个停靠在底部.我在页面上也有一个图表(System. Windows.Forms.DataVisualization.Charting).此图表是Dock.Fill页面上的剩余空间.

我第一次遇到图表隐藏在两个组框后面并仍然停靠填充整个页面的问题.但是,我发现我可以通过使用“BringToFront”(或重新排序文档大纲顺序)解决这个问题,然后图表正确停靠,并且没有与页面上的任何其他控件重叠.

但是,我试图在运行时向页面添加一个图表,它再次填充整个页面并隐藏在其他控件后面.我怎样才能做到这一点?

编辑:
忘记提及,调用“BringToFront”会抛出异常“Width必须大于0px”.

chart_TapChart = new Chart();
chart_TapChart.Dock = DockStyle.Fill;
chart_TapChart.BringToFront();
GroupBox gp1 = new GroupBox();
gp1.Dock = DockStyle.Right;
GroupBox gp2 = new GroupBox();
gp2.Dock = DockStyle.Bottom;
this.Controls.Add(chart_TapChart);    <--this refers to tabpage
this.Controls.Add(gp1);
this.Controls.Add(gp2);

解决方法

事实证明,您必须等到已经查看TabPage(您必须以编程方式调用yourtabpage.select()),然后搜索该标签页上的控件,找到该图表,并在其上调用“BringToFront”.在将控件添加到页面之前,可以设置Dock.Fill.

在呈现标签页之前,您无法设置其z-index.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读