如何在C#.Net中最小化和最大化窗口?

32

我希望在C#.net中手动最小化和最大化窗口。 我将表单的BorderStyle更改为none。 因此,栏中没有最大化、最小化和关闭按钮。 我想要手动创建像这些功能一样的按钮。 我想在按钮点击事件中实现三个功能。

4个回答

73
你需要像这样设置表单的 WindowState 属性:
在 Windows Forms 中:
private void button1_Click(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Minimized;
}
在 WPF 中:
private void button1_Click(object sender, RoutedEventArgs e)
{
    this.WindowState = WindowState.Minimized;
}

它不会改变任何东西。?? - Seven

7

窗体.窗口状态 属性

http://msdn.microsoft.com/zh-cn/library/system.windows.forms.form.windowstate%28v=VS.90%29.aspx

该属性获取或设置窗体的状态,如最小化、最大化或正常。
public FormWindowState WindowState { get; set; }

例如 -
var form = new Form();
form.WindowState = FormWindowState.Maximized;
form.WindowState = FormWindowState.Minimized;
form.WindowState = FormWindowState.Normal;

然而,如果你在主表单(或任何表单)的代码后面,只需执行以下操作 -
WindowState = FormWindowState.Maximized;

2
如果您正在使用WindowsForms,则需要更改WindowState属性 :)

0
    private void button4_Click(object sender, EventArgs e)
    {
        if (this.WindowState == FormWindowState.Normal) 
        {
            this.WindowState = FormWindowState.Maximized;
        }
        else
        {
            this.WindowState = FormWindowState.Normal;
        }

1
如果可以直接与枚举元素进行比较,永远不要通过其字符串表示来比较枚举!在这种情况下,正确的方式应该是 if (WindowState == FormWindowState.Normal) - abto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接