检测文本框的数量

时间:2017-02-23 09:33:35

标签: c# wpf

我有一个窗口,可以生成文本框和我的数据库中列的复选框:Image 所以如果我改变了一些东西并点击保存。我想保存这些。所以我需要一个带有许多文本框的每个循环。

有没有办法检测多个文本框?

以下是一些代码如何创建文本框和复选框的代码:

 public firmCustomerTable()
    {
        InitializeComponent();
        MySqlConnection connection;
        config conf = new config();
        connection = new MySqlConnection(conf.connection_string);
        DataTable schema = null;

        using (var con = new MySqlConnection(conf.connection_string))
        {
            using (var schemaCommand = new MySqlCommand("SELECT * FROM firmenkunden", con))
            {
                con.Open();
                using (var reader = schemaCommand.ExecuteReader(CommandBehavior.SchemaOnly))
                {
                    schema = reader.GetSchemaTable();
                }
            }
        }
        foreach (DataRow col in schema.Rows)
        {
            System.Windows.Controls.TextBox newTxt = new TextBox();
            System.Windows.Controls.CheckBox onoff = new CheckBox();

            // Add Label
            newTxt.Text = col.Field<String>("ColumnName");
            newTxt.Name = col.Field<String>("ColumnName");
            newTxt.Width = 200;


            // Add OnOff
            onoff.HorizontalAlignment = HorizontalAlignment.Center;
            onoff.Style = (Style)FindResource("CheckBoxStyle1");
            onoff.VerticalAlignment = VerticalAlignment.Center;

            // Add To Panel
            sp.Children.Add(newTxt);
            sp.Children.Add(onoff);

       }
    }

1 个答案:

答案 0 :(得分:1)

在你的表格中 using System.Linq使用扩展程序。然后,您可以使用OfType<>方法获取放在面板上的所有TextBox控件,如下所示:

List<TextBox> textboxes = sp.Children.OfType<TextBox>().ToList();

然后你可以使用文本框列表来完成你的工作。 另外,要计算:

int count = textboxes.Count;