Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从最小化状态最大化窗体不工作_C#_.net_Winforms_Messagebox_Windowstate - Fatal编程技术网

C# 从最小化状态最大化窗体不工作

C# 从最小化状态最大化窗体不工作,c#,.net,winforms,messagebox,windowstate,C#,.net,Winforms,Messagebox,Windowstate,当我尝试最大化处于最小化状态的窗体时,(我使用的是Windows窗体) 它不会打开。不知道为什么 下面是我正在做的一个例子: Button_X_Click(args, Events e) { Form1.ActiveForm.WindowState = WindowState.Minimized; DialogResult dr = MessageBox.Show ( this, "Would you like to open Form?", "Title", M

当我尝试最大化处于最小化状态的窗体时,(我使用的是Windows窗体) 它不会打开。不知道为什么

下面是我正在做的一个例子:

Button_X_Click(args, Events e)
{
  Form1.ActiveForm.WindowState = WindowState.Minimized;

  DialogResult dr = MessageBox.Show
  (
  this, 
  "Would you like to open Form?",
  "Title",
  MessageBoxButtons.YesNo
  )

  if (dr == System.Windows.Forms.DialogResult.Yes)
  {
    Form1.ActiveForm.WindowState =
           FormWindowState.Maximized;
    MessageBox.Show("Done"); //For Testing
  }
不知怎么的,它没有打开我的表单。 它确实显示了“完成”消息框


这里需要一些帮助;)

您需要有一个对您试图操纵的表单的引用。 我希望看到类似以下的情况:

    form1.WindowState = FormWindowState.Maximized;
    this.WindowState = FormWindowState.Maximized;
如果此代码位于您正在设计的当前表单上,则我希望看到如下内容:

    form1.WindowState = FormWindowState.Maximized;
    this.WindowState = FormWindowState.Maximized;

多了解一点上下文会很有帮助。

无论如何,这对您很有用:

void Button_X_Click(object args, Events e) {
   Form f = Form1.ActiveForm;
   Form1.ActiveForm.WindowState = WindowState.Minimized;
   DialogResult dr = MessageBox.Show( this,  "Would you like to open Form?",
                                     "Title", MessageBoxButtons.YesNo );
   if (dr == System.Windows.Forms.DialogResult.Yes) {
     f.WindowState = FormWindowState.Maximized;
     MessageBox.Show("Done"); //For Testing
   }
}

注意:您的
按钮的参数\u X\u Click
有点错误,我只是稍微更正了一下,没有太在意
事件
是什么,事实上我认为您的意思是
事件参数

尝试添加一个
.Show()
在最大化后调用。上面的代码是在哪里编写的?在我的form1 classI中,我尝试了form1.ActiveForm.Show();它给了我一张空白的表格,好像它还没有初始化。你检查过了吗。哪个表单是活动表单?我猜你是对的,Form1.ActiveForm=null。但是我只能将ref添加到Form1.ActiveForm或Form.ActiveForm,它们在最小化状态下都为null Form1对象为null是另一个问题。如果您添加完整的代码,说明您正在努力实现的目标,我们可以更有效地帮助您。事实上,我刚刚创建了一个示例,说明我正在做的工作;)@用户2982172你是什么意思?这个答案有用吗?如果是,你应该考虑接受它。