2011-05-16 4 views
0

J'ai créé le système de kiosque avec plusieurs commandes utilisateur et j'ai besoin de connecter le contrôle utilisateur de hotdrinks en utilisant un bouton qui est dans le contrôle utilisateur colddrinks. Lorsque j'utilise le code suivant, il affiche les deux commandes utilisateur ensemble et les affichages hotdrinks sous les colddrinks. J'ai besoin de cacher les colddrinks en premier et d'afficher les hotdrinks ensuite. Je pense qu'il faut utiliser la connexion parent et enfant ici, mais je ne savais pas comment faire cela. Aidez-moi, s'il vous plaît.Connexion de contrôle utilisateur

OrderTakingMenu ordertakingmenu; 
HotDrinks hotDrinks; 

public UserControl currentPanel; 

public ColdDrink(OrderTakingMenu ordertakingmenuIn) 
{ 
    InitializeComponent(); 
    this.Location = new System.Drawing.Point(5, 100); 
    ordertakingmenu = ordertakingmenuIn; 
} 

private void btnHotDrinks_Click(object sender, EventArgs e) 
{ 
    removePreviousPanel(); 
    currentPanel = new HotDrinks(ordertakingmenu); 
    this.Controls.Add(currentPanel); 
} 

private void removePreviousPanel() 
{ 
    this.Controls.Remove(currentPanel); 
} 

Répondre

0

J'utiliserais la propriété Visible. Ajoutez d'abord les deux contrôles utilisateur sur le formulaire et faites-les se chevaucher les uns les autres (au même endroit et à la même taille).

public ColdDrink(OrderTakingMenu ordertakingmenuIn) 
{ 
    InitializeComponent(); 
    this.Location = new System.Drawing.Point(5, 100); 
    ordertakingmenu = ordertakingmenuIn; 
    coldDrinksPanel.Visible = true; 
    hotDrinksPanel.Visible = false; 
} 

private void btnHotDrinks_Click(object sender, EventArgs e) 
{ 
    hotDrinksPanel.Visible = true; 
    coldDrinksPanel.Visible = false; 
} 
+0

J'ai essayé cette réponse et elle ne fonctionne pas et affiche l'erreur "Référence d'objet non définie sur une instance d'un objet" lors de son exécution. Merci pour votre aide et s'il vous plaît donnez-moi vos idées. – Leo

+0

Ajoutez les deux contrôles utilisateur ajoutés au concepteur. Cela va les créer. Assurez-vous de ne pas y accéder avant l'appel à InitializeComponent(). – David

Questions connexes