1

状況は次のようになります。複数のテキストボックスがあります。textChangedイベントが発生すると、テキストボックスを配列に格納して、以降の関数で使用できるようにする必要があります。

private void txt_TextChanged(object sender, TextChangedEventArgs e)
    {
        TextBox t;
        t = (TextBox)sender;
    }

これで、イベントを担当したテキストボックスができました。これらを別の関数の他の場所でアクセスできるように、これ以上を配列に格納する必要があります。

4

3 に答える 3

4

あなたが好きなら、あなたはそれをリストに投げることができます。なぜあなたが本当にこれをしたいのか分かりませんが...

List<TextBox> txtbxList = new List<TextBox>();

private void txt_TextChanged(object sender, TextChangedEventArgs e)
    {
        TextBox t;
        t = (TextBox)sender;
        txtbxList.Add(t);
    }
于 2012-04-19T20:12:29.623 に答える
1

説明

TextBoxをリストまたは配列に格納する必要がある理由はわかりませんが、そのために汎用リストを使用できます。

インデックスでアクセスできるオブジェクトの強く型付けされたリストを表します。リストを検索、ソート、および操作するためのメソッドを提供します。

サンプル

List<TextBox> myTextBoxes = new List<TextBox>();
// Add a TextBox
myTextBoxes.Add(myTextBox);
// get a TextBox by Name
TextBox t = myTextBoxes.Where(x => x.Name == "TextBoxName").FirstOrDefault();

詳しくは

于 2012-04-19T20:12:55.533 に答える
0

TextBoxからのテキストを保存したい場合は、次のような辞書を使用できます。

private Dictionary<string, string> dictionary = new Dictionary<string, string>();

private void txt_TextChanged(object sender, TextChangedEventArgs e)
{
    TextBox textBox = (TextBox)sender;
    string key = textBox.Name;
    string value = textBox.Text;
    if (!dictionary.ContainsKey(key))
    {
        dictionary.Add(key, value);
    }
    else
    {
        dictionary[key] = value;
    }
}
于 2012-04-19T20:15:15.470 に答える