2017-02-23 53 views
0

我有一個生成文本框和我的數據庫中的列的複選框的窗口: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); 

     } 
    } 
+0

我assusme他們必須在一個網格或StackPanel中,或某種集裝箱。應該足以查詢這些子項並將其限制爲文本框 – Lennart

+0

如何添加一些代碼,以便我們可以看到如何創建控件。 –

+0

@ R.Rusev我添加了一些代碼。 – xKushGene

回答

1

在您的形式把 using System.Linq使用擴展。然後,你可以使用OfType<>方法獲取其放在面板上的所有TextBox控制,就像這樣:

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

,然後你可以用文本框的名單做你的東西。 此外,獲得數:

int count = textboxes.Count;