问题标签 [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 投票
1 回答
2293 浏览

c# - SplitContainer 面板自动适应内容

我正在寻找非常简单的功能,但是我找不到它(令人惊讶的是,我找不到其他人问这个问题)。

我有带有两个面板的拆分容器 - 设置非常简单,左侧是导航 TreeView,右侧是带有项目的 ListView。

现在,我想要的是当左侧的所有内容(树视图)可见并且不显示水平滚动条时,拆分器会自动固定在位置上。我事先不知道项目的大小(但我知道它只有 1 级深)。像“AutoGrow 然后修复拆分器”之类的东西。当然,我不是第一个正在寻找此功能的人 :)

知道如何实现这一目标吗?

谢谢,马丁

0 投票
1 回答
601 浏览

winforms - 使用 UserControl 登录,然后以 Primary 形式启用 menuStrip

好的,这就是我想要做的。我在 C# 桌面应用程序中有一个主窗体,其中有一个 menuStrip 和一个 splitContainer。在运行应用程序时,我将一个名为“Login”的 UserControl 加载到 splitContainer.Panel2,同时隐藏 menuStrip。登录控件包含用于用户名、密码和登录按钮的字段。

http://i.stack.imgur.com/5jcnK.png

一旦通过身份验证(单击按钮),我想启用 menuStrip 并允许 splitContainer.Panel2 中的其他用户控件,同时隐藏登录控件。

http://i.stack.imgur.com/lwLvP.png

我如何做到这一点?我试图从登录控件触发一个事件,并以某种方式使其以主要形式工作但无法实现。这种方法是否值得尝试或者我应该单独打开多个表单(我不想这样做!)关于如何更改 splitContainer.Panel2 中的视图的任何更简洁的方法(除了将面板堆叠在另一个之上,这将是一场设计噩梦对我来说)同时保持 splitContainer.Panel1 具有相同的内容。

0 投票
0 回答
94 浏览

c# - 初始化和调整大小时在 SplitContainer 中重置 ForeColor

在 SplitContainer 内的 ListView 中使用不同的前色 ListViewItems 时,我注意到一些不寻常的行为。最初通常不显示颜色(尽管有时它们会神秘地显示),但它们会在选择项目时出现。调整窗口大小似乎也消除了 ListViewItems 中的所有颜色(如果锚点设置为与面板一起调整它的大小),将所有项目重置为原始黑色 ForeColor。添加 ListViewItems 后调用 invalidate 或 refresh 没有区别,它们最初仍被绘制为黑色,直到被点击。请注意,当 ListView 位于 SplitContainer 之外时,不会出现此问题。

要重现,创建一个新的 windows 窗体项目,添加一个 SplitContainer,并在其一侧添加一个 ListView。将 ListView 的 View 属性设置为 List,并将其锚定在所有边以调整大小。然后在 InitializeComponent 之后使用以下代码来设置项目:

知道如何解决这个问题吗?我发现了一些类似的问题,但没有真正解决这个问题。谢谢您的帮助。

我正在使用带有 .Net Framework 4 的 Visual C# 2010 Express。颜色问题发生在 Windows XP 和 7 上。

0 投票
1 回答
409 浏览

c# - 64位win形成csharp的屏幕失真

我在 Tabpage 中使用了拆分容器。除了装有win7 i5的笔记本电脑外,它在任何地方都可以正常工作。我们检查了其他 win 7 笔记本电脑,但工作正常。问题是当我们恢复 Window 并将其最大化时,拆分容器不会调整大小而留下空白。

我刚刚弄清楚问题可能是什么: 1. 问题出在 64 位机器上 2. 选项卡控件的调整大小事件没有被调用。3.我已经在mdi表单上明确调整了它的大小,问题似乎已经解决了,但是。这需要时间,并且可以看到调整大小。它应该是无缝的。4.它是一个临时解决方案。请帮忙

0 投票
1 回答
158 浏览

.net - 折叠面板后添加新文本框

我有一个在我的表单上创建用户的按钮。当我单击该按钮时,将执行此操作:

然后我得到 3 个文本框和两个按钮(保存和退出)。如果我想添加一个新的文本框,我应该怎么做?

0 投票
4 回答
21315 浏览

c# - SplitContainer 面板调整大小问题

一般问题

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

我有一个SplitContainer占据大部分表格的表格,它在所有方向上都设置为锚点,因此它会随着表格重新调整大小。左侧面板(Panel1)有一个简单的菜单,这里没有问题。右侧面板 (Panel2) 更复杂,包含许多嵌套的选项卡控件(有很多控件)——它非常复杂,但它并没有改变。

问题是重新调整表单的大小并不能很好地工作。事实上,如果您通过缓慢拖动边缘来调整大小,那么它可以正常工作,但快速拖动或使用“恢复”按钮(表单右上角)就会出现问题。


我的控制层次结构

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

  • 形式
    • 拆分容器(锚点:上、左、下、右)
      • SC Panel1(最小宽度:300)
        • TreeViewControl(忘记它叫什么)
      • SC面板2
        • 面板(锚点:上、左、下、右)
          • 选项卡控件(锚点:上、左、下、右)
            • 带有大量溢出屏幕并需要导航按钮显示在右上角的页面的选项卡控件(锚点:上、左、下、右)

调试详细信息

经过一些调试后,实际上Panel2(拆分容器的一个子项)似乎没有正确调整大小,而实际SplitContainer本身的大小调整得很好。

以下是显示这一点的调试值...

全宽形式,调整大小之前:

一切如预期,splitContainerMain.Panel2.Width小于splitContainerMain.Width

调整发生问题的大小后:

可以看出,splitContainerMain.Width已根据需要调整了大小,但splitContainerMain.Panel2.Width随后其子代没有。

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


我迄今为止的努力

我尝试做的是使用各种表单调整大小事件并尝试手动设置宽度,但无济于事。我想我想尝试的是Panel2.Width从某种事件中设置值。


我在寻找什么

  • 当大小发生变化时,是否有强制splitContainerMain.Panel2.Width正确调整大小的方法splitContainerMain
  • 或者,我如何计算Panel2.Width应该是什么?以及如何从Form.Resize事件中设置该值?(或其他事件?)
0 投票
3 回答
2826 浏览

c# - 如何获取 splitContainer.Panel2 下的所有按钮和标签

我想获取 splitContainer.Panel2 下所有按钮和标签的背景颜色。当我尝试它时,我发现我没有成功在任何控件上运行(在 Panel2 下)我尝试以下代码:

如何获取 splitContainer.Panel2 下所有标签和按钮的所有背景颜色?

编辑:

  1. 我在 splitcontainer.Panel2 中有一些面板,按钮和标签在面板中。
  2. 我只收到这个消息:“名称:panel_Right Back Color:Color [Transparent]”
0 投票
1 回答
1569 浏览

iphone - 使用 segue 向后导航时如何重新加载容器视图?

在 Xcode 中,我在 UIViewController 中实现了两个容器视图。我使用模态序列在正确加载的一个视图上向前导航。我的问题是,当我导航回上一页时,我的其他容器视图不会自动重新加载。

导航返回时如何手动强制加载此容器?

注意:当我向前导航到此页面时,它将正确加载,但是我的问题仅在向后导航时出现。

我研究了很多选项,但找不到一个明确的例子来说明如何做到这一点。

0 投票
1 回答
1973 浏览

c# - Override resize behavior of winform window

I have a winform window. When I change the size of the screen, the screen immediately increases or decreases.

I would prefer the Resize behavior of the window will be like Split Container, as long as I drag the mouse I see only line that marks what will be the window size, and only in leaving the Resize operation will be made.

I saw several examples that show that by hiding the frame of the window, and then by clicking on the window itself paint frame.

I want that by clicking on the frame of the window(I don't want to hide the frame) and not on the window.

Is there any way to do this? (May override the behavior of the Resize in any way).

0 投票
0 回答
40 浏览

visual-studio-2010 - 在 C# 中的用户单击时重新设计自定义面板

我在 Visual Studio 2010 的 WinForm 中使用 C#。我制作了一个自定义面板,里面有 10 个富文本框。每个富文本框都引用自定义面板表中的一列。自定义面板在运行时加载到拆分容器内。当用户点击自定义面板时,它应该缩小到一半,但只有 4 个特定的文本框。我怎样才能做到这一点?回顾一下:当用户单击它时,我需要自定义面板从 10 个文本框减少到 4 个文本框。提前感谢您的帮助。