2011-08-14 35 views
1

呼び出されたフォームが閉じられているときに新しいデータを呼び出しフォームにロードするにはどうすればよいですか?例えば呼び出されたフォームが閉じられたときに新しいデータを呼び出しフォームにロード

、 I 2形態を有する:


フォームAとフォームBを

形態Aは、リスト項目を持つコンボボックスを有する( "パリ"、 "ローマ"、 "マドリード" => ListItemのデータベースから来ている)

フォームA・コールは、フォームBでB(ショーダイアログ)

を形成し、私は例えば「ロンドン」

012を新しい都市を追加します

私は、フォームBを閉じたときに、私は再び

を市のデータをロードするために、フォームAでコンボボックスたい(今、リストは「パリ」が含まれ、「ローマ」、「マドリード」、「ロンドン」)

どのようにこの問題に対処できますか?

答えて

1

これを実行する方法はいくつかあります。ここに一つの方法があります。

FormBをFormBコンストラクタのパラメータとして渡します。

FormB formB = new FormB(this); 
formB.ShowDialog(); 
以下のようにフォームAを開くFormBで

FormBクラスにおいて

private FormA parentFormA; 

public FormB(FormA myFormA) 
{ 
    parentFormA = myFormA; 
} 

Private void FormB_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    //parentFormA.UpdateCityData(parameter) 
} 

0

フォームBをプロパティで自分のクラスにすることができます。次に、ShowDialogの終了後にNewCityの値を取得するだけで、フォームAで使用できます。

class CityAdderForm : Form 
{ 
    public string NewCity { get; set; } 


    private void CityAdderForm _FormClosing(object sender, FormClosingEventArgs e) 
    { 
     NewCity = // ... any logic that will set the NewCity property. 
    } 
} 
関連する問題