【问题标题】:How to trigger the event associated with maximize in C#如何在 C# 中触发与最大化相关的事件
【发布时间】:2011-05-04 14:28:51
【问题描述】:

考虑以下代码:

Window myWindow = new MyWindowSubclass();
myWindow.BringIntoView();
myWindow.Show();

// Code which is effective as pressing the maximize button

另外,如何检测窗口是否确实处于最大化状态。

【问题讨论】:

  • 您要定位 Windows.Forms 还是 WPF?你的代码看起来像 WPF,但你的问题有两个标签。
  • @Frédéric:我想以 WPF 为目标。为方便起见,我将删除 winforms。

标签: c# wpf maximize-window


【解决方案1】:

在 WPF 中,您可以使用 WindowState 属性:

myWindow.WindowState = WindowState.Maximized;

您当然可以查询该属性以获取当前窗口状态:

if (myWindow.WindowState == WindowState.Maximized) {
    // Window is currently maximized.
}

【讨论】:

  • 这就是我需要的:)。顺便说一句,可以最大化最大化窗口吗?
  • @Gunner,最大化已经最大化的窗口是可以的:它不会有任何效果。
【解决方案2】:

对于 WinForms,您可以使用

bool maximized = this.WindowState == System.Windows.Forms.FormWindowState.Maximized;

测试窗口是否最大化。

SizeChangedResize 事件应捕获对窗口状态的所有更改。

【讨论】:

    【解决方案3】:

    在 WinForms 中,做

    // Code which is effective as pressing the maximize button
    myWindow.WindowState = FormWindowState.Maximized;
    

    当然你可以用同样的方法测试它:

    if (myWindow.WindowState == FormWindowState.Maximized) { ... }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-18
      • 2018-01-25
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      • 2022-01-09
      • 2014-12-06
      相关资源
      最近更新 更多