标签: splitcontainer

SplitContainer ISupportInitialize问题:VS2010针对.NET 3.5

在VS2010中,我有一个针对.NET Framework 4.0的项目,然后必须恢复到目标v.3.5.一旦发生这种情况,我所拥有的SplitContainer对象将无法显示并实际抛出错误:"无法将类型为'System.Windows.Forms.SplitContainer'的对象强制转换为'System.ComponentModel.ISupportInitialize'."

现在,我做了一些挖掘,发现3.5实际上并没有在SplitContainer上使用ISupportInitialize,而是在.NET 4.0中.我想我的问题是,如果我的目标是3.5并且仍然遇到此问题,我该如何更正?

重现问题的步骤:

  1. 在Visual Studio 2010中创建一个新的C#Windows窗体应用程序项目(确保以.NET Framework 4.0为目标)
  2. 将拆分容器添加到基本表单.
  3. 运行应用程序(将运行正常)
  4. 将目标更改为.NET Framework 3.5(属性 - >应用程序 - >目标框架:)
  5. 重新运行应用程序(它会因Cast异常而崩溃).

任何有关这方面的帮助将不胜感激!

.net exception splitcontainer winforms

24
推荐指数
2
解决办法
9520
查看次数

C#防止两个拆分容器面板的大小调整

我有一个SplitContainer,并想知道我将如何设置两个面板的静态大小,并防止用户具有调整面板大小的能力.FixedPanel会成为解决方案吗?从我读到的,我不认为是.

c# splitcontainer winforms

20
推荐指数
2
解决办法
2万
查看次数

从SpitContainer Control中的Splitter中删除Windows的丑陋选择标记

我有一个SplitContainer控制,Splitter中间是非常难看的.通过设定BackColorSplitContainer到(插入颜色在这里),然后设置BackColorPanel1Panel2白的,我可以有我的分流好看.但默认情况下,Windows会将选择标记放在Splitter上,甚至在选择之前.

如何确保选择标记从未显示在Splitter

在此输入图像描述

.net c# controls splitcontainer winforms

17
推荐指数
2
解决办法
6165
查看次数

如何将Panel添加到SplitContainer?

我使用的是SplitContainer,它只包含2个面板,但我需要3个(面板).

问题:

是否可以向SplitContainer添加更多面板?

if YES
      how? 
else
      why not?
Run Code Online (Sandbox Code Playgroud)

谢谢 :-)

c# splitcontainer winforms

11
推荐指数
1
解决办法
2万
查看次数

在Windows窗体中将面板添加到SplitContainer

我无法找到有关如何将面板添加到SplitContainer的文档.我可以创建SplitContainer,但是我不能将我编码的面板放在splitcontainer中.

我试过了

sc.Container.Add(myPanel);
sc.Container.Add(myOtherPanel);
Run Code Online (Sandbox Code Playgroud)

Container总是空的.有谁知道我做错了什么?

c# splitcontainer winforms

10
推荐指数
1
解决办法
4万
查看次数

SplitContainer中的固定面板高度

我有一个WinForm,顶部有一个bindingNavigator,下面有两个水平面板的splitContainer.splitContainer填充未被bindingNavigator占用的空间.

我想将底部面板设置为固定高度,例如100像素,并让顶部面板填充剩余的空间.

这是我目前的代码:

kundeteamSplitContainer.SplitterDistance = kundeteamSplitContainer.Height - 100;
Run Code Online (Sandbox Code Playgroud)

我原以为这会将分割器距离动态设置为始终小于总高度100个像素,使得底部面板占据剩余的100个像素.虽然在运行时重新调整表单大小时底部面板不断改变大小,但这不能按预期工作.

编辑:如果可能的话,我会坚持使用splitContainer.获得了一些与隐藏/显示已经实现的底部面板相关的功能,我不想再次执行该工作.

.net c# user-interface split splitcontainer

9
推荐指数
2
解决办法
3万
查看次数

SplitContainer面板调整大小问题

一般问题

该应用程序是C#WinForms .Net 4.0.

我有一个SplitContainer占据大部分形式的东西,它被设置为各个方向的锚点,所以它与表格一起重新调整大小.左侧面板(Panel1)有一个简单的菜单,这里没有问题.右侧面板(Panel2)更复杂,包含许多嵌套的选项卡控件(包含大量控件) - 它非常复杂,但并没有改变.

问题是重新调整表单大小不是很好.事实上,如果您通过缓慢拖动边缘来调整大小然后它可以正常工作,但快速拖动或使用"恢复"按钮(窗体的右上角)然后问题发生.


我的控制层次结构

以下是我的控件层次结构的一个简单示例,它绝对是一个缩减版本,但突出显示嵌套的选项卡控件,它可能有助于复制:

  • 形成
    • 拆分容器(锚点:顶部,左侧,底部,右侧)
      • SC Panel1(最小宽度:300)
        • TreeViewControl(忘记它叫什么)
      • SC Panel2
        • 面板(锚点:顶部,左侧,底部,右侧)
          • 选项卡控件(锚点:顶部,左侧,底部,右侧)
            • 选项卡控件w /许多页面溢出屏幕并需要导航按钮显示在右上角(锚点:顶部,左侧,底部,右侧)

调试细节

经过一些调试后,看起来它实际上是Panel2(拆分容器的子代)没有正确调整大小,实际SplitContainer本身调整得很好.

以下是显示此信息的调试值...

全尺寸表格,在调整大小之前:

splitContainerMain.Width: 1479
splitContainerMain.Panel2.Width: 1206
panelCenter.Width: 1203
tabControlMain.Width: 1215
Run Code Online (Sandbox Code Playgroud)

如预期的那样,splitContainerMain.Panel2.Width小于splitContainerMain.Width.

调整问题后调整大小:

splitContainerMain.Width: 815
splitContainerMain.Panel2.Width: 1206
panelCenter.Width: 1203
tabControlMain.Width: 1215
Run Code Online (Sandbox Code Playgroud)

可以看出,splitContainerMain.Width已根据需要重新调整大小,但splitContainerMain.Panel2.Width其后的孩子却没有.

注意:请记住,如果我手动调整窗体大小,宽度会正确更新 - 这不是我没有正确设置任何锚点的问题.


我的努力到目前为止

我想知道问题是否与此问题有关,但我不准备创建一个新的"MySplitContainer"来尝试解决这个问题.

我试图做的是使用各种Form resize事件并尝试手动设置宽度,但无济于事.我想我想尝试的是Panel2.Width在某种事件中设置值.


我在寻找什么

  • 无论如何都要强制splitContainerMain.Panel2.WidthsplitContainerMain尺寸变化时正确调整大小?
  • 或者,我该如何计算Panel2.Width应该是什么?如何从Form.Resize …

c# splitcontainer winforms

8
推荐指数
1
解决办法
2万
查看次数

嵌套的SplitContainers会破坏SplitterWidth

所以我有3个分体式容器,每个容器有2个面板.

SplitContainer1 是停靠在Form(Parent)中的主要容器.

SplitContainer1.Panel1包含SplitContainer2哪个停靠.

SplitContainer1.Panel2包含SpliContainer3哪个停靠.

到现在为止还挺好.

SplitContainer1拥有SplitterWidth3, SplitContainer2SplitContainer3拥有SplitterWidth6.

在设计中,您可以看到SplitterWidth区别它们之间,但是当我生成解决方案中,SplitterWidthSplitContainer2SplitContainer3得到重置回4,无论我做什么.我已经更改了表单的"InitializeComponent"中的代码而没有任何效果.

我得到这个工作的唯一方法是在Load Event形式,重新指定SplitterWidths我发现完全愚蠢.为什么不能SplitterWidths保持我在Designer中指定的值?

如果有人能够对此有所了解,那将是多么棒的!!

谢谢你的时间,

彼得

vb.net splitcontainer

8
推荐指数
1
解决办法
488
查看次数

折叠"按钮"以进行拆分容器控制

我在WinForms桌面应用程序中使用Microsoft splitcontainer控件(.net 4/c#/ vs 2010).

我想在spliiter控件的面板之间放一个小按钮(或任何漂亮的UI元素)来折叠其中一个面板.例如,一个"按钮"有两个部分,如果我点击一个部分,右侧面板会折叠,如果我点击另一个部分,左侧面板会折叠.

我怎么能解决这个问题呢?

Thx提前!

.net c# visual-studio-2010 splitcontainer winforms

7
推荐指数
1
解决办法
2万
查看次数

如何从Microsoft Visual C#2010中的属性工具栏设置父控件?

我在Microsoft Visual C#2010 Express中构建我的界面,我注意到控件的属性工具栏中没有"set parent"属性?

我想知道为什么会这样,如果有一个干净的方式来启用此功能.或者如果没有,为什么它不可用?

我需要它的一个例子是,当我使用Splitcontainer并且Panel1有10个子面板都使用Dock模式'FIll'时,将新面板添加到Spitcontainer面板1变得非常困难.Visual Studio总是假设我正试图将我的新面板作为已经存在的最前沿面板的孩子.

在此输入图像描述

c# visual-studio-2010 windows-forms-designer visual-studio splitcontainer

6
推荐指数
1
解决办法
3625
查看次数