2

たとえば、Form1 と Form2 があります。Form1 にはパブリック プロパティがあります

 public IMyCustomType selectedOption;

Form1にはcomboBoxカスタムオブジェクトリストがあります。ユーザーがそのコンボリストからselectedOptionにオプションを選択したときに、その値を入力したい

public IMyCustomType selectedOption;

private void availableChoices_SelectedIndexChanged(object sender, EventArgs e)
{             
   selectedOption = (IMyCustomType)availableChoices.SelectedItem;                                        
}

内部Form2では、選択したタイプの新しいインスタンスを作成したいと考えています。form2そのプロパティにアクセスしselectedOption、その値を使用して新しいインスタンスを作成する方法は?

4

4 に答える 4

1

私が知っているベスト プラクティスは、プログラムのフォームを制御するコントローラー クラスを用意することです。その後、作成時に状態オブジェクトへの参照をフォームに渡し、その状態オブジェクトから必要なプロパティにアクセスできます。

(これは、現在のフォーム内から次のフォームをロードするように設定するなどの巧妙なトリックを実行するのにも役立ちます。コントローラー クラスで取得して呼び出すのは非常に簡単です。)

于 2013-06-04T11:39:01.597 に答える
-1

コンボ ボックスのプロパティ ウィンドウでは、メンバーの可視性が非公開になります。internal または public に設定します。

于 2013-06-04T11:29:34.463 に答える