6

过去的要求是窗口是CenterScreen,但客户最近要求窗口现在稍微在其当前位置的右侧。

窗口的当前定义是:

我希望执行以下操作会起作用:

    public MyWindow()
    {
        InitializeComponent();

        // change the position after the component is initialized
        this.Left = this.Left + this.Width;
    }

但是当窗口出现在屏幕上时,它仍然处于相同的位置。

我需要将启动位置更改为Manual自己并定位吗?如果是这样,我如何让它从中心偏移?

4

2 回答 2

6

处理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;
        }
于 2013-11-01T11:26:02.757 回答
-1

在设计器中右键单击窗口选择属性。在属性侧面板中查找“ StartPosition”将其值设置为“ CenterScreen”。

或者您可以在窗口的 InitializeComponent() 中尝试以下代码

this.StartPosition=FormStartPosition.CenterScreen;

或者,如果它是一个弹出窗口,请尝试使用以下代码。

this.StartPosition=FormStartPosition.CenterParent;

或者,如果它是应用程序启动的窗口,则使用以下设置。

this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
于 2013-11-01T11:38:14.760 回答