C# 从最小化状态最大化窗体不工作
当我尝试最大化处于最小化状态的窗体时,(我使用的是Windows窗体) 它不会打开。不知道为什么 下面是我正在做的一个例子: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
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你是什么意思?这个答案有用吗?如果是,你应该考虑接受它。