问题标签 [splitcontainer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
711 浏览

vb.net - VB。带有展开/折叠按钮的网络拆分容器

我有 2 个使用拆分容器创建的面板,我的问题是如何在拆分容器的拆分器中添加展开/折叠按钮?

我也尝试了 dotnetbar splitter,但它没有添加展开/折叠按钮的属性。

0 投票
1 回答
1525 浏览

c# - 根据表单大小设置 splitContainer 属性大小 C# WinForms

我无法splitContainer根据我的表单大小设置大小。

当我的表单被加载时,它MinimumSize位于1170,930. 但是,如果我同时调整表单的大小.SplitterDistance并且.Panel2MinSize在不同的地方,那么它们应该在哪里。

我已经尝试使用该Form_SizeChanged事件进行以下操作,但它无法正常工作。有没有办法我可以计算.SplitterDistance.Panel2MinSize适应表格调整大小。

提前致谢。

编辑

添加了一些图片以在下面提供更好的示例。

表格标准(应该是什么样子)

在此处输入图像描述

调整大小的表格

在此处输入图像描述

0 投票
2 回答
2414 浏览

c# - Winforms 控件结合了 SplitContainer 和 TableLayoutPanel 的优点

使用 SplitContainer,用户可以调整控件两侧的大小。但仅限于两个部分。

使用 TableLayoutPanel,您可以拥有无​​限的行和列。不幸的是,用户不能拖动任何这些部分。

我怎样才能两全其美;SplitContainer 中的中间栏的“可拖动性”以及 TableLayoutPanel 允许的超过 2x1 部分的能力?

如果 Winforms 不允许这样做,也许那里有商业组件?我知道我在一些非.NET 程序中看到过这种高级控件。

0 投票
1 回答
4611 浏览

c# - 如何获取 WinForm 上所有控件的列表,即使是 SplitContainers 或 Panels 中的控件

我的 WinForm 上有几个容器,如 Panel、SpliContainer、StatusStrip... 每个容器都包含基本元素,如按钮或文本框。我需要遍历所有表单控件(甚至是 Panels、SplitContainers、StatusStrip 中的控件)以找到一些控件。我尝试使用递归函数

但我没有得到容器中的控件!?

更新:

我有一个带有 SplitContainer、Panel 和 StatuStrip 的表单。在这些控件中的每一个中,我都有几个子控件,例如StatuStrip1 中的toolStripStatusLabel1。问题是当我尝试通过函数 ListAllControls 在StatuStrip 中找到例如控制工具StripStatusLabel1 时,我找不到它!?我不知道有任何其他方法可以从表单中获取所有控件。完整代码在这里:

样本:

对于这个示例,我得到了没有找到:(但如果我使用 StatusStrip1,我会得到“我找到了控件 StatusStrip1!” 我希望现在的问题比以前更清楚。

0 投票
1 回答
956 浏览

c# - How do I add a SplitContainer dynamically c#

At design time I have a form with a FlowLayoutPanel. I can create buttons inside it with no problems. But when I tried to add a SplitContainer, nothing happens.

Later I will need to add a Splitcontainer inside another SplitContainer. So my user can choose the number of sections (panels) he wants to see in the form.

I'm trying this:

0 投票
3 回答
1266 浏览

c# - C#如何强制Panel1和Panel2的Paint事件同时完成?

我有一个 SplitContainer(准确地说是一个NonFlickerSplitContainer),我把它的两个面板都当作一个单独的画布来绘画。我使用 Graphics.DrawImage 方法分别在面板上绘制位图。我先刷新 Panel1,然后刷新 Panel2,这会导致垂直/水平撕裂 - Panel1 的绘画结束,然后 Panel2 的绘画开始 - 这就是原因。我的问题的解决方案是什么?我使用 splitContainer 作为具有前后功能的“位图视频流”的输出。也许我可以以某种方式冻结 UI,直到 Panel2_Paint 结束?

0 投票
1 回答
676 浏览

c# - 强制 DataGridView 填充 SplitContainer 中的可用空间

我正在编写一个 Windows 窗体应用程序,该应用程序在三个可用区域中的两个区域中使用两个嵌套的 SplitContainers 和 DataGridViews,如下图所示。我已经连接了设置和表单初始化,以允许用户禁用多窗格格式,以支持仅包含第一个 DataGridView 的单窗格视图。

这里的主要问题(正如我将在(希望)足够的深度中解释的那样)是,如果其他面板被隐藏,DataGridViews 不遵守 SplitContainer 面板的约束。

DataGridView/SplitContainer 布局

在这里,红色轮廓表示父 SplitContainer,masterSplitContainer在引用中适当地调用。蓝色轮廓表示子 SplitContainer,标题为bottomSplitContainer,占据该masterSplitContainer.Panel2位置。

DataGridViews 占据masterSplitContainer.Panel1bottomSplitContainer.Panel1区域,到目前为止我已经设计了初始化代码,以便程序考虑三种可能性:

  1. 用户想要一个仅单窗格的视图/UI 布局,从而masterSplitContainer.Panel1占用masterSplitContainer.
  2. 用户启用双窗格布局,但删除了底部容器的 Panel 2
  3. 用户想要所有三个面板。

正如我仅使用 SplitContainers 构建的测试所表明的那样,第二个 SplitContainer(孩子)得到了预期的点,并且对这种安排非常满意,没有任何障碍。但是,当测试启用单窗格视图的设置时,结果如下:

DataGridView 问题 1

使用以下masterSplitContainer.Panel2代码禁用:

在这种情况下,我希望 DataGridView 假定 masterSplitContainer 的完整操作区域,而不是保留其预定义的边界,因为这是我添加部件时面板拆分器所在的位置而设置的。

对于消除过程,同样的事情发生在第二个 DataGridView 放置在子 SplitContainer(即bottomSplitContainer.Panel1)中 - 它也不服从其外壳的区域。

到目前为止,我已经对此进行了一些阅读,看起来这可能是一个锚定问题,但我对 .NET 和 Windows 窗体的经验非常有限,因此这可能需要一些手持或指向出明显的错误。

另外,如果你们都需要更多实际的代码参考,我很乐意应要求发布表单类。

0 投票
2 回答
911 浏览

c# - 将焦点设置到上一个控件

我有一个分离器面板失去控制的问题,需要重新设置。

我的应用程序使用 SplitContainer;并且当我的控件在拆分器的 panel2 中加载数据时,焦点正在转移到 panel1。

两个面板中都有 tabStop = true 的控件,因为 tab 和 shift+tab 需要在两个面板和拆分器上工作。

要重新设置它,在 GotFocus 中为 panel2 控件添加了一个 Control 对象,并在 panel1 的 _enter 中使用它来将焦点重新设置在 panel2 中。但是,我需要重置这个控制对象;我不能在 panel2 的 _leave 中执行此操作,因为在设置回控制 GotFocus 时将再次调用。

0 投票
0 回答
243 浏览

winforms - 移动时拆分容器指示灯闪烁

我们在 WinForm 应用程序中添加了一个拆分容器。问题是当我从左到右移动拆分器指示器或反之调整两个面板的大小时,它开始闪烁。

以下是与闪烁相关的一些观察结果:

  • 在 Windows Server 2008 中启动应用程序时:未观察到闪烁
  • 从 Windows Server 2012/2016 启动相同的应用程序时 - 闪烁开始。

注意:两个面板不闪烁。只有指示灯闪烁。

0 投票
0 回答
124 浏览

c# - 带有拆分容器的表单中的菜单条(当前固定到任一面板)

在此处输入图像描述

正如您在图像中看到的,我的菜单条被固定到面板 B。我的目标是自然地让菜单条不在拆分面板中,而是停靠在没有父级的窗口顶部。

我似乎无法将其从拆分面板中取出。这里最好的做法是什么?我是新来赢得表格的。

谢谢