如何在Winforms中使UI响应

7

与大多数人先学习 Winforms 再转向 WPF 不同,我是反过来的!由于图形性能的一些原因,我必须使用 Winforms。但是我卡在了第一步。我该如何使 UI 像 WPF 一样具有响应性。在 Winforms 中,Grids 的等效物是什么?任何帮助都将不胜感激。


4
就目前而言,这个问题太过宽泛。请将Grids部分作为另一个问题提出,并解释您所说的“响应式”是什么意思。也许可以提供一些导致“不响应”的UI的示例代码,并告诉我们它的性能如何以及您期望的性能是什么。 - Chris Ballard
@ChrisBallard 实际上我问了关于性能的问题,但是没有人回答,我不想在内心深处转向Winforms,但我真的卡住了。https://dev59.com/Un3aa4cB1Zd3GeqPitrk - Vahid
奇怪,我一直认为你要么使用图形加速的WPF或DirectX。但坦白地说,我不认为WinForms / GDI +比WPF具有更快的图形渲染能力。 - grizzly
1
Winforms通常比WPF更快,但这真的取决于你想做什么。Winforms UI通常比WPF简单得多,因此性能更好。如果您试图使Winforms看起来像WPF,那么可能会遇到麻烦。请发布一些代码。 - Chris Ballard
我在Winforms中没有任何代码,我是新手。我曾尝试在WPF中构建CAD程序,但对于这种类型的程序来说性能非常糟糕。 - Vahid
我认为这个问题是关于如何在winforms中制作“动态布局”,类似于Web开发中的“响应式UI”?它似乎因错误的原因被关闭了。 - vgru
2个回答

8
如果您说的是响应式设计适用于各种屏幕分辨率,您可以使用面板和内部停靠控件。在正确组合停靠在主窗体面板中的控件后,您可以获得一个漂亮的设计,它将自适应于所有屏幕。您还可以使用Anchor属性使控件“粘”在例如右上角的位置(默认情况下始终为左上角)。至少这是我从您的问题中理解的内容。

5

另一个选择是使用WPF来创建所有的控件和布局,然后在WPF中使用winforms托管您的CAD应用程序,这样您将获得WPF的响应性能优势,并且可以利用winforms进行绘图以获得更好的性能。


这可能是我目前情况下的最佳选择。请查看我的其他链接,了解我选择Winforms而不是WPF的原因。https://dev59.com/Un3aa4cB1Zd3GeqPitrk - Vahid
1
这篇文章可能会帮助你决定是否适用于你的特定场景。但在我看来,这似乎是同时拥有两种最佳方法的最佳途径。 - woutervs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接