2009-01-30 6 views
0

J'utilise VisualStudio 2005 et je veux définir le texte d'un contrôle sur un formulaire. Pour diverses raisons, cela ne devrait pas être fait dans VisualStudio Designer. Je pourrais écrire le code comme suit:Afficher Control.Text dans VisualStudio Designer

public Form1() 
    { 
     InitializeComponent(); 
     button1.Text = "Test"; 
    } 

Mais maintenant, je ne vois pas le texte dans le concepteur, le bouton est vide (ou a le texte par défaut de « button1 »). Est-il possible de définir le texte d'un contrôle en dehors du concepteur et voir le texte dans Visual Studio Designer? Le texte ne doit pas être modifiable, il doit seulement être visible. Ce serait vraiment bien, car il serait possible d'utiliser des constantes pour les phrases fréquemment utilisées et de les voir dans le concepteur pour ajuster l'interface utilisateur.

Répondre

1

Il est un peu hacky, mais vous pouvez sous-classe le contrôle que vous voulez et passer outre la propriété Text:

public class MyTest : Button 
{ 
    public override string Text 
    { 
     get 
     { 
      return @"test"; 
     } 
     set 
     { 
     } 
    } 
} 

Cela montre dans le concepteur, mais quand vous essayez de le changer Visual Studio vous ignore tout. Vous voulez probablement faire autre chose que simplement renvoyer un littéral de chaîne codé en dur, mais je suis sûr que vous avez l'idée :-)

Questions connexes