2011-10-18 9 views
1

私のプロジェクトには3つのフォームがあり、最初は歓迎フォーム、もう1つはサーバーフォーム、3つ目はホームページです。3つ目のフォームの読み込み時に2つのフォームを同時に閉じる方法は?

ウェルカムフォームで特定のボタンをクリックすると、ウェルカムフォームを閉じずにサーバーフォームが読み込まれます。サーバーフォーム上の特定のボタンをクリックすると、ホームページがロードされ、サーバーフォームは閉じられているか隠されているはずです。

サーバーフォームのボタンをクリックしてthis.Close(); Home_Page hp=new Home_Page(); hp.Show();メソッドを試したところ、サーバーフォームのみが非表示になっていましたが、ウェルカムフォームはバックグラウンドで実行されています。

Home_Pageのロード時にWelcomeフォームとサーバーフォームを閉じるにはどうすればよいですか?

+0

WinForms? WPF? Silverlight? –

+0

WinFormsに関するすべての質問 –

答えて

0

イベントと代理人を使用してジョブを完了します。できることは、ウェルカムフォームをサーバーフォームからの終了イベントに登録することです。今すぐサーバーフォームのインターンでホームページを購読します。だからホーム・ページのボタンをクリックするとそこにexitイベントが発生し、Serverフォームのexitイベントを呼び出してからwelcomeフォームでイベントを発生させるので、welcomeフォームを閉じてサーバー・フォームを閉じます。 ベストソリューションではないかもしれませんが、私は提案があります。 問題が関連している場合、これがsilverlight/wpfで動作するかどうかはわかりません。

+0

サポートをいただきありがとうございます。私は私のプロジェクトであなたのソリューションを使用したいと思います。しかし、私の研究では、与えられた質問を解決するために使うことができるもう一つの解決策を見つけました。ソリューションは以下に掲載されています。 –

+0

確かに、私はその良い解決策を聞いてみたいと思っています。また、あなたが私の答えが好きなら投票してください! – Zenwalker

0

上記の質問の解決策が見つかりました。

サーバーフォームのボタンをクリックすると、サーバーフォームを非表示にするためにthis.Hide();を使用し、Welcome.ActiveForm.Hide();を使用してウェルカムフォームを非表示にすることができます。 Home_Pageのオブジェクトを作成し、Home_Page hp=new Home_Page(); hp.Show();を使用してそのフォームを表示します。 ActiveFormは、ウェルカムフォームを現在アクティブなフォームにしてから非表示にすることができます。

+0

私の答えを完璧に編集してくれてありがとうございました。 –

関連する問題