将 VB.NET 控件放在相当大的窗口的中心

发布于 2025-01-01 21:26:39 字数 242 浏览 0 评论 0原文

我正在 VB.NET(Microsoft 的 Visual Basic 2010)中创建一个程序。
我想知道是否可以将所有内容放在屏幕中央。目前它位于屏幕的最左上角。
当窗口大小变化时,我希望所有形状和大小的窗口都保持在中间。使用 HTML 和 CSS 实现上述功能的类似示例:

<div style="margin: 0 auto; width: 500px;"></div>

I'm creating a program in VB.NET (Microsoft's Visual Basic 2010).
I want to know if I can put all my content in the center of the screen. At the moment it's at the far top-left of the screen.
When the window size varies I want it to stay in the middle for all shapes and sizes. A similar example using HTML and CSS to achieve the above:

<div style="margin: 0 auto; width: 500px;"></div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

三岁铭 2025-01-08 21:26:39

您应该能够使用 FormResize 事件来完成此操作,但我个人会使用 TableLayoutPanel 控件(此处的文档)。

步骤如下:

  1. 将所有控件放入一个 Panel
  2. 将 3 列和 3 行添加到 TableLayoutPanel
  3. 将新的 Panel 拖入中心。
  4. 停靠表格,使其填满整个表单
  5. 将所有行/列的大小设置为 33.33%,这现在应该意味着您的内容将始终居中。

You should be able to do it using the Form's Resize event but personally I'd use the TableLayoutPanel control (documentation here).

Here are the steps:

  1. Put all of your control into a single Panel
  2. Add 3 columns and 3 rows to the TableLayoutPanel
  3. Drag your new Panel into the center.
  4. Dock the table so that it fills the whole Form.
  5. Set all of the rows'/columns' size to 33.33%, this should now mean that your content will always be centered.
顾忌 2025-01-08 21:26:39

对此我有另一个想法。首先,创建一个 Panel 或其他东西来保存所有内容(如果您还没有创建),并将所有 Control 放入其中。现在选择该Panel,然后转到Format >>>。在“表单” 菜单中居中,然后先选择水平,然后选择垂直。现在您有两个选项可以继续:

  • 如果您希望通过表单调整整个内容的大小,这意味着您希望其周围的距离保持不变,则设置 Panel属性锚定到上、下、左、右(全部)。
  • 如果您不希望随表单调整整个内容的大小(与上述不同),请将 PanelAnchor 属性设置为 None

我希望它能起作用。抱歉,如果我不清楚,这就是我能建议的。
我想我回复这个帖子太晚了! ;-)
干杯!
– Sree

I have another idea for this. First, create a Panel or something to hold all your content (if you haven't created one yet) and put all your Controls in it. Now select that Panel and then go to the Format >> Center in Form menu and choose Horizontal first, then Vertical. Now you have two options to proceed with:

  • If you want the whole thing to resize with the Form, which means like you want the distance around it to be constant, then set that Panel's Anchor property to Top, Bottom, Left, Right (all).
  • If you DON'T want the whole thing to resize with the Form, unlike the above, set that Panel's Anchor property to None.

I hope it works. Sorry if I am not clear, that's all I can suggest.
I guess I am replying too late to this thread! ;-)
Cheers!
– Sree

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文