2010-05-11 4 views
0

Je travaille sur mon projet: [Beer Pong Management System] [1], une application Windows Forms. J'essaye actuellement d'ajouter un mode de tournoi entier à lui. En un mot, j'ai créé un TabControl, avec la première page à onglet avec les paramètres et la configuration et la deuxième page les crochets.Panneau dans Windows Forms Application ne pas effacer

Il y a une caractéristique pour chaque match, qu'une fois qu'un gagnant est décidé, un bouton d'annulation jaune apparaîtra pour inverser le tournoi. Cependant, mon problème est quand je clique sur le bouton le prochain match-up ne sera pas supprimé dans la série va. Voir ci-dessous:

Image Here(not high enough rep to insert image)

J'ai essayé de régler le MatchUp à null, je l'ai essayé Éliminez(), close(). même Parent.Controls.Remove(). Même après avoir changé d'onglets, ce qui est censé tout effacer, ils restent assis quand je reviens. J'ai l'impression de perdre une référence ou quelque chose parce que je ne peux même pas y intégrer de nouvelles équipes, elles restent là avec leurs boutons.

Est-ce que quelqu'un a des conseils ou connaît des problèmes connus qui pourraient être à l'origine? Merci.

[1] _http: //www.cs.rit.edu/~rmb1201/pages/code.shtml

+0

* Très * peu clair. Je ne peux même pas dire si la capture d'écran est un contrôle ou plusieurs contrôles. Ne pas voir un panneau, ne voit pas un contrôle de tabulation. Ne vois pas de code. –

+0

désolé laissez-moi réitérer. Lorsque je crée le tournoi. Je crée un tableau de MatchUps pour chaque profondeur de bracket (Starting, Quarters, Semis, Finals). Chacun de ces matchs a un bouton pour choisir l'équipe qui gagne. Une fois choisie, l'autre équipe sera désactivée et le bouton sur lequel vous avez cliqué se transformera en un bouton jaune de retour. Une fois que deux équipes consécutives ont fait cela, j'ai défini l'affrontement de la profondeur de jeu suivante parmi les gagnants des deux précédents. Ce qui est censé se produire, c'est que si j'appuie sur le bouton de retour, la profondeur de la prochaine console est supposée éliminer la correspondance et ramener les 2 précédentes à l'état de départ. – rbucinell

+0

Je pense que pour ce que vous demandez, vous allez devoir poster du code. –

Répondre

1

Peut-être que cet extrait peut vous aider à identifier le problème:

public string GetControlSummary(Control rootControl, int level) 
    { 
     string result = ""; 
     foreach (Control childControl in rootControl.Controls) 
     { 
      result += new string(' ', level * 4) + childControl.Name + " (" + childControl.GetType().Name + ")\r\n"; 
      result += GetControlSummary(childControl, level + 1); 
     } 
     return result; 
    } 

Juste passez le tabPage ou le panneau auquel vous avez ajouté vos contrôles; il vous donnera une liste de tous les contrôles et sous-contrôles que vous avez ajoutés. Si les contrôles ne figurent pas dans la liste, ils ne doivent pas non plus être peints.

+0

Quel outil génial (en général aussi). Merci pour cela. D'après le rapport qu'il envoie, je crée des contrôles en double, ce qui signifie que j'ai un «nouveau» rogue quelque part dans mon code. Merci. – rbucinell

Questions connexes