c# - 仅调整 panel1 大小的 SplitContainer

标签 c# custom-controls splitcontainer

有没有办法让SplitContainer只调整panel1的大小?我有一个垂直 SplitContainer,当我移动拆分器时,我希望第一个面板的大小增加/减少,但我不想更改第二个面板的大小,我希望表单的大小增加和减少。

我创建了一些代码来增加/减小表单的大小,但 Panel2 也在更改大小,因此整个面板并不总是可见。

我是否必须制作自己的容器,或者可以使用 SplitContainer 实现这一点吗?

我有一个表单“MainWin”,其中包含面板“MainPanel”,MainPanel 包含 SplitContainer“MainSplitContainer”。 Panel1 包含一个 TreeView,Panel2 包含 3 个面板,这些面板根据在 TreeView 中选择的项目而变得可见。我希望这 3 个面板始终完全可见(我计划限制拆分器的扩展,以便表单无法扩展到屏幕之外),这是可能的还是我应该创建自己的控件并使用MouseDown、MouseUp 和 MouseMove 事件?

最佳答案

无需创建自己的表单:SplitContainer 有一个属性:“FixedPanel” 选择 SplitContainer,然后在布局部分中查看“FixedPanel”,将其设置为您想要保持宽度或高度恒定的面板(取决于面板布局)。

以编程方式:

sc.FixedPanel = FixedPanel.Panel1; //Or Panel2

参见:

Splitcontainer, Make a fixed panel

Fixed Panel Height in a SplitContainer

关于c# - 仅调整 panel1 大小的 SplitContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3479802/

相关文章:

c# - 使用 Method.Invoke 时无法传递类

c# - Nunit 测试 MVC 站点

javascript - 一个 jQuery/javascript 自动调整大小的网格控件

.net - 使用 .NET "WinForms"SplitContainer 控件,如何动态隐藏面板?

c# - 我如何处理我的 ViewModel 中的 Validation.Error 而不是我的 View 背后的代码?

c# - ClickOnce 应用程序跳过请求更新(如果选择跳过,则启动失败)

ios - 制作一个按钮,其背景和内容仅在指定的内部矩形内绘制(而不是在其所有框架内)

c# - 如何在自定义 .NET Web 控件中指定必需的属性?

vb.net - 拆分容器流布局面板或自动调整大小的面板 (VB.NET)

.net - SplitContainer ISupportInitialize 问题 : VS2010 Targeting . NET 3.5