我正在WPF中开发一个小型Windows应用程序
我的应用程序主窗口状态设置为最大化。
当用户点击恢复按钮时,窗口正在随机位置加载。 如何在单击恢复按钮时在中心屏幕上加载窗口?
[编辑] [求助]
private void Window_StateChanged(object sender, EventArgs e)
{
if (this.WindowState == WindowState.Normal)
{
double screenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
double screenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;
double windowWidth = this.Width;
double windowHeight = this.Height;
this.Left = (screenWidth / 2) - (windowWidth / 2);
this.Top = (screenHeight / 2) - (windowHeight / 2);
}
}
答案 0 :(得分:1)
你应该不这样做。使用可以拖动窗口并调整窗口大小,您应该通过将窗口恢复到以前的位置来尊重它。
你可以以这种方式做到这一点。
将处理程序注册到Window.StateChanged,如果当前状态为“正常”,则在该处理程序中设置窗口位置。
void Window1_StateChanged(object sender, EventArgs e)
{
if (this.WindowState == WindowState.Normal)
//set window location center to screen
}