すべてのフォームを非表示または表示する方法(フォームの子を含む)を作成しました。.Hide()から.Show()に変更されたフォームは最大化できません、なぜですか?
SetAllFormsState(FormState.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();
}
}
}
しかし:コードは次のようです。子フォームはウィンドウ/タスクバーに表示されますが、ウィンドウによって「ロック」されているようですが、最大化することも、通常のスタイルに変更することもできません。 どうすれば修正できますか?
感謝を。私はforeachを使って試しました。しかし、違いはありません。 –
@Matan:なぜCWですか? – abatishchev
@abatishchev私は他の人が自分のソリューションを編集できるようにしたい。 – Matan