2011-03-26 6 views
0

pourquoi cela donne l'erreur: this.Controls.Add(timer1);minuterie ne peut être ajouté en tant que contrôle WinForms

mais cela ne fait pas: this.Controls.Add(button1);

Lorsque les deux, le bouton et la minuterie sont commandes alors pourquoi ne pouvons-nous ajouter la minuterie comme contrôle en winforms?

+1

qui ** type ** d'une minuterie utilisez-vous? Il y a au moins trois différentes classes 'Timer' dans le framework .NET .... –

+1

Le contrôle du timer n'a pas d'interface graphique. – Hukam

+2

Oui, plus précisément, une minuterie est un ** Composant ** et non un ** Contrôle **. – gideon

Répondre

4

En supposant System.Windows.Forms.Timer, Timer hérite directement de Component, et non par Control comme Button fait:

System.Windows.Forms.Timer timer = new Timer(); 
this.components.Add(timer); 
3

simple.

Il y a trois minuteries dans .NET:

Aucun d'entre eux sontcontrôles.

Tous container controls ont une propriété Controls qui expose une ControlCollection, qui ne prend que System.Windows.Forms.Control (ou classes héritant)

Voir ContainerControl.Controls.Add

Questions connexes