如何在C#中运行时将控件移动到屏幕中心

本文关键字:移动 屏幕 控件 运行时 | 更新日期: 2023-09-27 18:21:52

所以,我有一个大小不同的控件(它是一个标签)。每次它改变时,我都想在表单中重新居中(水平居中,而不是垂直居中)。我该如何通过编程实现这一点?

如何在C#中运行时将控件移动到屏幕中心

YourLabel.Left = (YourForm.Width / 2) - (YourLabel.Width / 2);

如果希望在每次表单维度更改时对此进行调整,请使用Form.Resize事件。

不需要任何代码:AutoSize=False,TextAlign=TopCenter。让它尽可能大。向右锚定是可选的。

使任何组件居中的最简单方法。可能对某人有帮助。右键单击项目->添加->类别

使用以下代码更新该类。

public static class MyClass
{
    public static void center(this Control component)
    {
        float compWidth = component.Width;
        float parentWidth = component.Parent.Width;
        float middled = (parentWidth / 2) - (compWidth / 2);
        component.Left = Convert.ToInt32(middled);
    }
}

然后你可以在任何组件中间。你可以在任何像这样的组件上使用

MyLabel.center();
MyPanel.center();

好的,所以我站在正确的位置-谢谢大家。

这里有一个使用RAD(设计时)在没有代码的情况下完成的变通方法注意,我会接受@Shark的答案,因为我认为这不会达到你想要的结果,但现在是:

  • 以形式放下按钮

  • 将其文本设置为标签中的文本

  • 适合文本的大小按钮

  • 在按钮属性"FlatStly=Flat"

  • 在按钮属性中,展开"平面外观"并将"边框大小"设置为0

  • 现在将锚点设置为左右