Winforms 如何在C+中居中显示屏幕顶部+;WinForm?
我试图在屏幕顶部居中显示我的父窗体,但它只显示中心屏幕和中心父窗体,在屏幕顶部没有居中显示。 当我尝试Google时,它为我提供了大量包含最顶端功能的结果,但我对最顶端的功能不感兴趣。我希望它在屏幕顶部的位置为0,而不是在所有窗口中,我无法找到正确的参数Winforms 如何在C+中居中显示屏幕顶部+;WinForm?,winforms,c++-cli,position,center,Winforms,C++ Cli,Position,Center,我试图在屏幕顶部居中显示我的父窗体,但它只显示中心屏幕和中心父窗体,在屏幕顶部没有居中显示。 当我尝试Google时,它为我提供了大量包含最顶端功能的结果,但我对最顶端的功能不感兴趣。我希望它在屏幕顶部的位置为0,而不是在所有窗口中,我无法找到正确的参数 有人遇到过这种方法吗?您需要使用表单的位置属性 下面是一个简单的示例,它将表单向上移动到Y=0: void Form1_Load( object sender, EventArgs e ) { this.Location = new P
有人遇到过这种方法吗?您需要使用
表单的位置属性
下面是一个简单的示例,它将表单向上移动到Y=0
:
void Form1_Load( object sender, EventArgs e )
{
this.Location = new Point( this.Location.X, 0 );
}
编辑:下面是一个示例,它将确保表单也集中在屏幕顶部
void Form1_Load( object sender, EventArgs e )
{
int x = (Screen.PrimaryScreen.Bounds.Width - this.Width) / 2;
this.Location = new Point( x, 0 );
}
注意:
- 此示例适用于C#WinForm
<> LI>之所以提到这个是因为你的标题是指“代码> C++ +<代码>和<代码> WiFors<代码>,这是不混的。
你指的是C++的形式,或者是c++/CLI WiForm(我假设你不是C++的MFC表单)。
这里有一个方法:
public static class FormExtensions
{
public static void CentreTop(this Form form)
{
form.Location = new Point((Screen.PrimaryScreen.Bounds.Width - form.Width) / 2, 0);
}
}
并在上下文中使用:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.Manual;
this.Resize += Reposition;
this.Move += Reposition;
}
private void Reposition(object sender, EventArgs e)
{
this.CentreTop();
}
}
如果你不想总是使用<代码>原屏幕,<>你可能想添加一些逻辑,
这只在Frim1是用StistPosi= C++屏幕设计的时候工作,否则你就要计算C++席的参考c++/CLI WiFrase:),所以没问题——你只需要把这个解决方案翻译成C++/CLI。