メインフォームからShowDialog()でフォームを呼び出します。ダイアログフォームから値を1つずつ渡すのではなく、メインフォームのオプションを渡すことができるように、値のリストを渡したいと思います(メインフォームのオプション、ダイアログのフィールド数フォームは異なります)。List <string>オブジェクトをダイアログボックスからメインフォームに渡すにはどうすればよいですか?
しかし、このコードではプログラムがクラッシュしますが、例外は発生しません。このメソッドは単純な変数で動作したので、問題はリストにある必要があります。
ダイアログフォームのクラスは、これを含んでいます
List<string> valuesToReturn;
public List<string> ValuesToReturn { get => ValuesToReturn; set => ValuesToReturn = value; }
ダイアログフォームのコンストラクタは、リストの新しいインスタンスを作成します:
valuesToReturn = new List<string>();
をし、イベントハンドラの中で(入力したときに押されて)IすべてのNoEnterTextBox-esの値をリストに追加します。
foreach (object item in this.Controls)
{
if(item is NoEnterTextBox) {
valuesToReturn.Add((item as NoEnterTextBox).Text);
}
}
このコードを修正する方法を教えてください。ありがとうございました。
私の2つのフォームプロジェクトを参照してください:http://stackoverflow.com/questions/34975508/reach-control-from-another-page-asp-net – jdweng
私は問題を起こさなかった、それは通過する能力ですかダイアログフォームからメインフォームへの値、またはvaluesToReturnに追加したい値をforeachループでリストしますか? – jonathana
(ダイアログフォームの)すべてのテキストボックスのテキストをリストに追加し、そのリストをメインフォームで取得したいとします。メインフォームよりも、そのリストの要素にアクセスしたいと思います。 – Gabe