如何在运行时将文本框存储到数组中

时间:2012-04-19 20:04:41

标签: c# .net windows-8

情况是这样的: 我有多个文本框。在textChanged事件发生时,文本框应存储在数组中,以便我可以在其他函数中使用它。

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

现在我有了负责该活动的文本框。现在我必须存储这个以及更多来存入一个数组,以便可以在另一个函数的其他地方访问它们。

3 个答案:

答案 0 :(得分:4)

如果你喜欢的话,可以把它扔进一个列表中。不知道为什么你真的想要这样做...

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

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

答案 1 :(得分:1)

描述

我不知道你为什么需要将TextBox存储在List或Array中,但你可以使用通用List。

  

表示可以通过索引访问的强类型对象列表。提供搜索,排序和操作列表的方法。

示例

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();

更多信息

答案 2 :(得分: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;
    }
}