4

メインメニューがあり、ボタンの1つをクリックすると、メニューパネルが非表示になり、クリックしたボタンが開きます。これは1つのボタンで機能しますが、2番目のボタンでは機能しません。まあ、それは私が推測するパネルを示していますが、私がパネルに何かを持っているにもかかわらず、それは空です。

コードは非常に単純なので、問題がどこにあるのかわかりません

public Form1()
{
        InitializeComponent();
        menu_botStrip.Text = DateTime.Now.ToString("dd/mm/yyyy h:mm tt");
        panel_startMenu.Show();
        panel_informationService.Hide();
        panel_customerManagement.Hide();
}

private void btn_informationService_Click(object sender, EventArgs e)
{
    panel_startMenu.Hide();
    panel_informationService.Show();
}

    private void btn_customerManagement_Click(object sender, EventArgs e)
    {

        panel_startMenu.Hide();
        panel_customerManagement.Show();
    }
4

3 に答える 3

31

2番目のパネルを最初のパネルの中に入れていないことを確認してください。ツールボックスからパネルをドラッグした場合、これが発生する可能性が高くなります。

Document Outline確認するには、ウィンドウ([表示]->[その他のウィンドウ]->[ドキュメントのアウトライン])を開き、パネル間の関係を確認します。それらが互いに含まれていないことを確認してください。それらは同じレベルのネストである必要があります。

このような場合:

間違い

次に、内側のパネルを選択し、ウィンドウの上にある左矢印ボタンを押します。次に、次のようになります。

右

これは正しいものです。

于 2013-03-05T09:37:44.970 に答える
0

最初のパネル(情報サービス)を再び隠すべきではありませんか?両方が同時に表示されている場合は、醜いオーバーレイがあるかもしれません...

private void btn_informationService_Click(object sender, EventArgs e)
{
    panel_startMenu.Hide();
    panel_customerManagement.Hide();
    panel_informationService.Show();
}

private void btn_customerManagement_Click(object sender, EventArgs e)
{
    panel_startMenu.Hide();
    panel_informationService.Hide();
    panel_customerManagement.Show();
}
于 2013-03-05T09:36:53.753 に答える
-1

@ MD.Unicornに同意します。フォーム(レイヤーコンテキスト)でこれらのパネルを並べ替える場合は注意が必要です。これは、パネルに別のパネルが含まれている場合、特定の親を非表示にした後、すべての子コンポーネントも非表示にすることを意味します。

于 2014-12-05T20:13:30.877 に答える