2009-09-10 6 views
0

J'ai un winform avec un contrôle tabulation. Sur l'onglet par défaut, j'ai un bouton 'aller' lié à une fonction qui récupère les valeurs des zones de texte sur le second onglet (valeurs par défaut). Les valeurs apparaissent sous la forme "" si je ne regarde pas d'abord le 2ème onglet qui, je suppose, provoque la volumétrie des zones de texte avec les valeurs par défaut.C#: Formulaires de fenêtre: Récupère les valeurs de contrôle enfant à partir de l'onglet non activé

Comment faire pour que le formulaire remplisse tous ses contrôles en charge?

+0

C'est probablement quelque chose avec votre code et il sera plus difficile de vous aider sans le voir. –

+0

code: private void Initiate (expéditeur d'objet, EventArgs e) { chaîne set_dateformat = liste déroulante.date.Texte; string set_nameformat = liste déroulante.nom.Texte; } Les deux listes déroulantes sont sur le deuxième onglet de mon contrôle onglet. Cette méthode est liée à un bouton sur l'onglet # 1 –

+0

Votre question dit, "textboxes" mais votre code se réfère à "combobox" –

Répondre

0

Cela fonctionne comme un charme:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     ComboBox c = new ComboBox(); 
     Button b = new Button(); 

     public Form1() 
     { 
      InitializeComponent();    

      b.Text = "New Button"; 
      b.Click += new EventHandler(b_Click); 
      this.tabPage1.Controls.Add(b); 

      c.Items.Add("Hello World"); 
      c.Items.Add("My Program"); 
      c.SelectedIndex = 0; 
      this.tabPage2.Controls.Add(c);    
     } 

     void b_Click(object sender, EventArgs e) 
     { 
      MessageBox.Show(c.Text.ToString()); 
     } 
    } 
} 

Si non spécifié au moment du chargement par défaut de ListIndex COMBOX à -1 qui est « » (blanc) donc si vous connaissez l'indice exact où vos valeurs par défaut obtenir s'affiche dans la zone de liste déroulante, puis définissez l'index de liste sur cet index.

L'utilisation du code ci-dessous du premier élément de la liste déroulante sera sélectionnée lors de l'exécution.

comboBox1.SelectedIndex = 0 (The first item in the combo box) 
1

La liaison de données ne fonctionne pas avec le contrôle invisible. Je l'ai trouvé here. Pour référence, regardez this MSDN thread

Questions connexes