2017-02-05 7 views
0

複数のフォームでアプリケーションを作成しようとしています複数のフォームを使用する

必要なセクションにフォームを重ねて配置しました。

ただし、提供されているコードは機能しません。

private void home_butt_Click(object sender, EventArgs e) 
    { 
     Home_Panel.Visible = true; 
     Home_Panel.BringToFront(); 
    } 

    private void Intro_butt_Click(object sender, EventArgs e) 
    { 
     Introduction.Visible = true; 
     Introduction.BringToFront(); 
     Home_Panel.Visible = false; 
     Crime.Visible = false; 
    } 

    private void Crime_butt_Click(object sender, EventArgs e) 
    { 
     Crime.Visible = true; 
     Crime.BringToFront(); 
     Home_Panel.Visible = false; 
     Introduction.Visible = false; 
    } 

起動時にhome_Panelが表示されますが、ボタンをクリックすると犯罪パネルのみが表示されます。

ご協力いただければ幸いです。

+0

'Home_Panel'、' Introduction'、 'Crime'はクラスですか?どのようにそれらを使用していますか?あなたはいつそれらを初期化していますか? – Everyone

+0

これは作成されたユーザコントロールで、コピーしてメインフォームに貼り付けて使用します。 –

+0

宣言され初期化されているコードを表示できますか? – Everyone

答えて

0

showhideの方法を前面に配置して視認性を設定する代わりに、フォームに使用してみませんか?例えば。

private void home_butt_Click(object sender, EventArgs e) 
{ 
    Home_Panel.Show(); 
    Crime.Hide(); 
    Introduction.Hide(); 
} 

その他のボタンイベントの場合は逆ですか?

+0

私はそれを試みましたが、それは何らかの理由で機能しません、それは1つのパネルだけを表示します。残りの部分はありません –

+0

表示したり非表示にする各フォームのインスタンスを作成しましたか?他のコメントでは、Visual Studioでラベルを作成してラベルを追加したと言っていますが、フォームオブジェクトのインスタンスはボタンクリックイベントハンドラのスコープに存在します。 –

関連する問題