0

GUI を作成していますが、ツリービューのどの項目またはラジオ ボタンでどの項目が選択されたかに基づいて変化するアプリが必要です。

どのアイテムが選択されているかを知る方法は知っていますが、アイテムに基づいてインターフェイスを変更するにはどうすればよいですか?

何を試すべきですか?マルチパネル?一部隠し?

MMC のようなアプリを想像してみてください。右で何を選択するかによって、右側が変化します。

Button1.Visible = true イベントでandのようなものを使用Button2.Visible = falseしましたが、右側の要素をグループ化するにはどうすればよいですか? desingner モードでは、すべてのオブジェクトが他のオブジェクトと重なっているのが見えますか?

4

2 に答える 2

1

メニューのようなものを参照していると仮定すると (左側のメニュー オプション。いずれかをクリックすると、ウィンドウの右側に対応する設定が表示されます)、「ウィンドウ」ごとに個別のコントロールを作成するだけです (非技術的な右の単語の使用)。左側のエントリが選択されている場合は、右側のパネルの対応するコントロールで BringToFront() を呼び出して Click イベントを処理します。

メニューについて言及しているのではなく、より詳細なものについて言及している場合 (左側の各選択が同じ中央ディスプレイ ユニットで動作し、各選択が 1 つの小さな部分にのみ影響する可能性がある場合)、左側の選択によって影響を受ける可能性のある各ユニットに 1 つずつ、中央の表示ユニットをパネルに分割し、左側の選択に従ってそれらを表示および非表示にします。

于 2012-06-27T21:51:06.073 に答える
0

これを処理する通常の方法は、画面の右側にパネルを配置し、異なるビューごとに独自の UserControl を作成することです。次に、ツリー ビューの選択が変更されたら、パネルの子をクリアし、関連する UserControl インスタンスを作成してパネルに追加し、Dock を Fill に設定します。以下の疑似コードのようなもの:

    private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
    {
        panel1.Controls.Clear();
        UserControl uc = new MyUserControl();
        uc.DataToShow = (MyObject)treeView1.SelectedNode.Tag;
        uc.Dock = DockStyle.Fill;
        panel1.Controls.Add(uc);
    }
于 2012-06-28T01:44:47.510 に答える