以前的要求是窗口为CenterScreen
,但客户最近要求窗口现在位于其当前位置的右侧。
窗口的当前定义是:
我希望以下方法能够奏效:
public MyWindow()
{
InitializeComponent();
// change the position after the component is initialized
this.Left = this.Left + this.Width;
}
但是当窗口显示在屏幕上时,窗口仍处于相同的位置。
我是否需要将启动位置更改为Manual
并自行定位?如果是这样,我如何从中心偏移?
答案 0 :(得分:4)
处理Loaded
事件,并将this.Left = this.Left + this.Width;
放在那里:
public MyWindow()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MyWindow_Loaded);
}
void MyWindow_Loaded(object sender, RoutedEventArgs e)
{
this.Left = this.Left + this.Width;
}
答案 1 :(得分:0)
在设计师中
右键单击窗口
选择属性。
在属性侧面板中查找“StartPosition
”
将其值设置为“CenterScreen
”。
或者 您可以尝试窗口的InitializeComponent()中的以下代码
this.StartPosition=FormStartPosition.CenterScreen;
或者 如果是弹出窗口,请尝试使用以下代码。
this.StartPosition=FormStartPosition.CenterParent;
或者 如果它是应用程序启动的窗口,则使用以下设置。
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen