问题标签 [flowlayoutpanel]

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 回答
546 浏览

c# - 如何调整表单或 FlowLayoutPanel 的大小以打印大于屏幕尺寸?

我有一个表单,它的主面板是一个 FlowLayoutPanel,这正是我想要打印的(它被设计成看起来像一个格式很好的文档......没有按钮等......你右键单击命令)。

因此,我利用 DrawToBitmap 实现几乎免费的打印...针对该尺寸正确流动其内容。然后,我只使用 DrawToBitmap 将该 FlowLayoutPanel 及其所有内容呈现到打印页面。我什至可以通过将窗口增大到大于页面大小(相同的纵横比)来缩放以适应,然后缩小从 DrawToBitmap 获得的位图。效果很好...

但它仅在您的屏幕大于页面大小时才有效!因为任何将窗体或控件的大小调整为大于屏幕大小 + 任一方向 12 像素的尝试都会被阻止。

啊!!如果您要通过拒绝调整大于屏幕的大小来扼杀它的适用性,为什么要用 DrawToBitmap 的简单性和实用性来取笑我呢?(修辞)

我的问题:

有没有办法绕过这个限制并让 Form 或 FlowLayoutPanel 调整大小大于屏幕?

如果没有,有没有办法到达 FlowLayoutPanel 的滚动表面(不仅仅是滚动到视图中的部分),以便我可以调整它的大小以匹配打印页面,并且可以在其上调用 DrawToBitmap?

如果没有,是否有其他方法可以利用我现有的布局功能进行打印?或者我是否坚持重写所有 WinForms 代码只是为了生成相同的位图,如果我的屏幕比我的打印页面大,它已经生成了?

0 投票
2 回答
1953 浏览

c# - C# 流布局面板

我希望能够在表单中添加一些进度条(进度条的数量可能因用户而异)。

我编写了这段代码来添加 1 个进度条:

当我运行此代码时,我得到一个 Exception: "Object reference not set to an instance of an object."。困扰我的是,当我使用 IDE 查看进度条和 flowLayoutPanel 时,它们都不为空。我做错了什么?

0 投票
2 回答
835 浏览

c# - C# 断点更改行为

我处于一种奇怪的情况,我意识到如果在我的代码上设置断点,那么它将被触发,否则永远不会调用该方法。我的问题是;如何设置断点来改变 C# 代码与 WinForms 应用程序交互的方式?

罪魁祸首似乎是ScrollableControl.ScrollControlIntoView Method。我已经将 Flowlayoutpanel 的 autoScroll 属性设置为true,并且垂直滚动条是可见的,但它仍然没有区别。

代码仅在调试模式下被调用,并且断点被命中

0 投票
2 回答
2651 浏览

c# - 具有右锚定静态面板的可变高度 FlowLayoutPanel

好好看看这个 数字

我有一个顶部面板,它停靠在Top我的表单 ( AutoSize == True, AutoSizeMode == GrowOnly) 上。在其中,我有一个停靠到( , ) 的FlowLayoutPanel ,以及停靠到( ) 的普通静态面板静态面板有一个固定的宽度,但它的高度可以被拉伸。FlowLayoutPanel包含许多向右对齐的子元素。FillAutoSize == TrueAutoSizeMode == GrowOnlyRightAutoSize == False

我想要它,所以当用户将表单的大小调整到所有 FlowLayout 子级无法容纳在同一“行”上时,FlowLayoutPanelTop PanelStatic Panel都在高度上增长以适应被截断的子级。行”,可能还有第三、第四等等。

就目前而言(在本例中),可能重叠的孩子被撞到第二条“线”,但没有一个高度可以显示出来。我在这些不同的面板中以各种方式摆弄了各种停靠和自动调整参数。

我认为这不会太难,但我无法仅使用设计时可用的功能来使其工作。也许这是不可能的,或者我错过了一些东西。谢谢你!

0 投票
1 回答
378 浏览

c# - 确定动态标签间距

我有一个小程序,flowLayoutpanel1我在其中放置了许多动态创建的标签,如下所示:

在此处输入图像描述

但我希望这些标签彼此之间有某种间隙,这样它们就不会接触,lbl.SetBounds();而且似乎在这里不起作用。

这是我正在测试的代码?

关于如何完成间距的任何建议?

0 投票
0 回答
312 浏览

c# - 如何根据 FlowLayoutPanel 控件中的条目数设置滚动条大小?

我正在使用FlowLayoutPanel控件,其中我一次只动态加载 40 个控件。但我有 2000 多个控件要添加FlowLayoutPanel。我们在滚动事件上添加了更多的 40 个控件并删除了之前的 40 个控件等等,它已经成功完成。但问题是FlowLayoutPanel's 的大小ScrollBar是基于 40 个控件设置的。所以用户无法理解是否有新的控件。为此,我必须ScrollBar根据总计数设置 's 大小,并且一次只加载 40 个控件。

这与 中的虚拟模式相同DataGridView。我想在FlowLayoutPanel.

0 投票
2 回答
592 浏览

winforms - FlowLayoutPanel 导出

我想要一种将 FlowLayoutPanel 的图形内容导出到文件的方法(不要介意什么格式,bmp 可能是最简单的)。我还希望它滚动内容,以便导出的文件包含面板的全部内容。

有没有办法做到这一点?我正在使用 C# WinForms 和 Framework 4。

0 投票
3 回答
10931 浏览

c# - 如何让 FlowLayoutPanel.AutoSize 与 FlowBreak 一起使用

我有一个 FlowLayoutPanel 的问题,我不知道如何解决它。

我将两个 FlowLayoutPanel 放在另一个里面;第二个内部 flp 内部有 3 个按钮。

在此处输入图像描述

FlowLayoutPanel 子级的属性是:

现在我将每个按钮的FlowBreak属性设置为 true,但是我看到的行为不是我想要的,我希望 FlowLayoutPanel 缩小到按钮的宽度,

在此处输入图像描述

更改FlowDirectionUpToDown不是一种选择。

任何人都知道为什么 AutoSize 不起作用?

这是代码。

0 投票
3 回答
3369 浏览

c# - C# winforms 在向 flowlayoutpanel 添加和删除自定义控件时可能出现内存泄漏(taskmanager 中的许多用户对象)

我有一个中型 Winforms 应用程序 (dotNET4.0),我在其上从 flowlayoutpanel 动态添加和删除自定义控件。
根据用户的选择,这些控件的数量会有所不同。

这工作正常,除了我注意到一些内存泄漏。我通过监视任务管理器中的“用户对象”编号来检查这一点。当我将自定义控件添加到 flowlayoutpanel 时,该数字会上升,但在处理这些控件时不会再次下降。

实际上:用户对象的数量下降了很多(可以说从 100% 到 10%:所以 90% 被正确处理,剩下 10% 的内存)......

结论:处理用户控件后,一个或多个对象仍保留在内存中。我的猜测是代表或图像,但我一无所知......会不会是静态的东西?

所以我的实际问题是:我在哪里没有正确地从用户控件中释放内存,我该如何解决这个问题?你们能帮忙吗?

非常感谢提前!

这是我的用户控件:请注意,除了_Costlinereportdata对象之外
的所有内容都可以处理。 (这应该继续使用,因为它在其他部分被链接和使用)

这是我的用户控件的内容(就 winform 控件而言)

这就是我清除所有内容的 flowlayoutpanel 的方式:

这就是我添加控件的方式

我添加了这个块,因为这也为 User 控件中的一个内部控件添加了一个 Delegate(事件)方法。

编辑解决方案
对于那些感兴趣的人,我已将我的代码更新为以下内容:

从 flowlayoutpanel 中删除控件
我还在这里删除了事件的订阅者

处理我的对象
(虽然不处理我的静态图像)

0 投票
1 回答
476 浏览

c# - 动态添加组合框到 flowlayoutpanel

我正在为学校做一个项目,但我现在被困住了。我想动态地将组合框添加到我的 flowlayoutpanel 中,这取决于上下数字的值。

因此,如果数字上下值是 2,则动态制作 2 个组合框,但我真的不知道如何做到这一点,这就是我的想法。

但我似乎无法让它工作。