3
我寫了一個方法,隱藏或顯示所有形式的應用程序(包括表單子項)。代碼如下:從.Hide()更改爲.Show()的表單不能最大化,爲什麼?
public enum FormState
{
Show ,
Hidden,
Enable,
Disable
}
private void SetAllFormsState(FormState formState)
{
FormCollection forms = Application.OpenForms;
FormWindowState formWinState;
bool state;
if (formState == FormState.Show)
{
formWinState = FormWindowState.Normal;
state = true;
}
else if (formState == FormState.Hidden)
{
formWinState = FormWindowState.Minimized;
state = false;
}
else
{
throw new ArgumentNullException("invalid flag");
}
for (int i = forms.Count - 1; i >= 0; i--)
{
Form form = forms[i];
form.WindowState = formWinState;
if (state)
{
form.Show();
}
else
{
form.Hide();
}
}
}
,但是當我再次撥打的形式:可以選擇
SetAllFormsState(FormState.Show);
只有父窗體。子窗體顯示在窗口/任務欄中,但似乎被窗口「鎖定」,無法最大化或更改爲正常樣式。 我該如何解決它?
謝謝。我嘗試使用foreach。但沒有區別。 – 2011-12-28 12:35:46
@Matan:爲什麼是CW? – abatishchev 2011-12-28 14:19:18
@abatishchev我想讓其他人編輯我的解決方案。 – Matan 2011-12-28 14:42:58