0

70 個ほどのテキスト ボックスを持つビューがあります。オブジェクトを使用してすべての入力を保存しているので、プログラムで入力を渡すことができます。私が今持っているのは保存ボタンです。このボタンが押されると、各テキストボックスはそのテキストをすべての入力を保持するオブジェクトに送信します。

この実装を変更して、カーソルがテキスト ボックスを離れた後にテキスト ボックスがそのテキストをオブジェクトに送信するようにします。テキスト ボックスごとに 1 つのイベント ハンドラを記述したくありません。

このサイトでは、複数のテキスト ボックスを 1 つのイベント ハンドラーに割り当てる方法について説明しています。これは、各イベントが同じことを行う必要がある場合に機能します。複数のテキスト ボックスを 1 つのイベント ハンドルに割り当てる方法ですが、各テキスト ボウはその内容を別の文字列にアップロードしますか?

何も思い浮かばないので、何かアイデアがあればお願いします。

ありがとう、

ドヘナ

4

2 に答える 2

3

Dictionary< TextBox, string >または偶数をDictionary< object, string >持ち、オブジェクトをキーとして使用して、sender割り当てる文字列を取得します。

于 2013-09-06T21:17:43.720 に答える
2

辞書を使えば簡単にできます:

textBox1.LostFocus += new EventHandler( textBox_LostFocus );

Dictionary<object, string> _contents = new Dictionary<object, string>( );
void textBox_LostFocus( object sender, EventArgs e ) {
    _contents[ sender ] = ( sender as TextBox ).Text;
}

値をリストとして取得するには (必要な場合):

_contents.Select( kvp => kvp.Value ).ToList( );
于 2013-09-06T21:18:49.200 に答える