在 Windows 窗体 c# 中绘制动态面板
Posted
技术标签:
【中文标题】在 Windows 窗体 c# 中绘制动态面板【英文标题】:Draw dynamics panels in a windows form c# 【发布时间】:2020-08-04 21:30:21 【问题描述】:您好,目前我有一个这样的 Windows 窗体:
在这种形式中,我总是有十个面板,并根据我需要将它们隐藏起来。例如,如果我有一个包含 7 个值的对象列表,我会隐藏面板 8、9、10,但这种方式并不高效,因为我的列表大小总是在变化,也许有时我会有一个包含 13 个面板的列表,并且在这个静态界面中我只有 10 个面板
我想把这个表格做得更好。新的窗口形式是这样的:
现在我想在表单的右侧绘制相同的黄色面板,但动态地根据我的对象列表的大小,如下所示
【问题讨论】:
非常不清楚!你说的“画”是什么意思??是真的画画还是只是展示? 您是否至少考虑过切换到 WPF?在我这样做之前,我认为它有“陡峭的学习曲线”。但事实并非如此。 WPF 确实比 WinForms 更容易。当您说“绘制”时 - WinForms 实际上逐像素绘制。 WPF 使用 DirectX 来绘制矢量,因此它就像“无限”地更快,此外,该应用程序能够以最小的努力感知 DPI,这意味着它在巨大的 4K 电视和小型平板电脑屏幕上都能正常工作。此外,您还可以为其制作“皮肤”,例如网络应用中的 CSS。 当我说绘制时,我指的是在执行时放置在我的表格布局面板和我的流程布局面板上。将此元素与解码代码放在相同的形式,如第一张和最后一张图片 【参考方案1】:看看FlowLayoutPanel
和TableLayoutPanel
【讨论】:
以上是关于在 Windows 窗体 c# 中绘制动态面板的主要内容,如果未能解决你的问题,请参考以下文章