gpt4 book ai didi

c# - 运行时生成的控件的 DockStyle 填充

转载 作者:太空狗 更新时间:2023-10-29 21:18:55 25 4
gpt4 key购买 nike

我正在尝试做一些非常简单的事情,但在 C# Winforms 中给我带来了巨大的问题。我在 TabPage 上有两个组框。一个停靠在右边,一个停靠在底部。我在页面上也有一个图表 (System.Windows.Forms.DataVisualization.Charting)。此 Chart 将停靠。填充页面上的剩余空间。

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

但是,我试图在运行时向页面添加一个图表,它再次填满整个页面并隐藏在其他控件后面。我该如何着手完成这项工作?

编辑:忘了说了,调用“BringToFront”会抛出异常“Width must be greater than 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。

关于c# - 运行时生成的控件的 DockStyle 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9592590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com