| auteur : Ditch |
Il vous faut récupérer les contrôles présents sur le formulaire et tester s'ils
sont de type TextBox.
foreach (Control c in Controls)
{
if (c is TextBox)
c. Enabled = false ;
}
|
|
| auteur : cardi |
Avec la version 2 du Framework, la classe TextBox donne la possibilité de compléter automatiquement les saisies de l'utilisateur. Un peu comme ce que fait déjà votre navigateur.
Pour cela, vous devez utiliser la collection AutoCompleteCustomSource pour spécifier la liste des valeurs que le Textbox pourra proposer.
textBox_Recherche. AutoCompleteSource = AutoCompleteSource. CustomSource;
textBox_Recherche. AutoCompleteCustomSource. AddRange (new String[ ] { " Chat " , " Cheval " , " Chien " } );
|
En plus de cela, il est possible de préciser comment le Textbox doit afficher les propositions : dans une liste (Suggest), directement dans le textbox (Append) ou un mix des 2 solutions précédentes (SuggestAppen).
textBox_Recherche. AutoCompleteMode = AutoCompleteMode. SuggestAppend;
|
|
| auteur : nico-pyright(c) | Il n'est pas possible d'écrire le texte d'un label avec plusieurs couleurs par défaut, mais on peut y arriver en créant un nouveau contrôle qui dérive de Label et en surchargeant la méthode OnPaint.
Tout d'abord, créer une classe dérivée de Label et surcharger OnPaint :
public class MonLabel : System. Windows. Forms. Label
{
protected override void OnPaint (PaintEventArgs e)
{
Brush [ ] mesCouleurs = { Brushes. Red, Brushes. Orange, Brushes. Green, Brushes. Blue} ;
int br = 0 ;
string chaine = Text;
List< string > listString = new List< string > ();
StringBuilder sb = new StringBuilder ();
for (int i = 0 ; i < chaine. Length ; i+ + )
{
if (chaine[ i] = = ' ' | | chaine[ i] = = ' \' ' )
{
if (chaine[ i] = = ' \' ' )
sb. Append (chaine[ i] );
listString. Add (sb. ToString ());
sb = new StringBuilder ();
}
else
sb. Append (chaine[ i] );
}
listString. Add (sb. ToString ());
float startX = 0 ;
foreach (string s in listString)
{
e. Graphics. DrawString (s, Font, mesCouleurs[ br] , startX, 0 );
startX + = e. Graphics. MeasureString (s, Font). Width;
br+ + ;
if (br > = mesCouleurs. Length)
br = 0 ;
}
Width = (int )startX;
}
}
|
Ici, j'ai choisi de changer de couleur à chaque espace trouvé ou à chaque ' trouvée. J'utilise DrawString pour écrire la partie de mot avec la couleur choisie, et je n'oublie pas de mesurer sa taille pour écrire la partie de mot suivante.
Il faut également adapter la taille du contrôle à la nouvelle taille du texte.
Ensuite, il ne reste plus qu'à utiliser notre contrôle, par exemple dans le constructeur :
MonLabel monLabel = new MonLabel ();
AutoScaleMode = System. Windows. Forms. AutoScaleMode. Font;
monLabel. Font = (new System. Drawing. Font (" Microsoft Sans Serif " , 8 . 0F , System. Drawing. FontStyle. Regular, System. Drawing. GraphicsUnit. Point, (System. Byte)(0 )));
monLabel. Text = " Je m'appelle Nico-pyright(c) " ;
this . Controls. Add (monLabel);
|
|
Consultez les autres F.A.Q's
Les sources présentés sur cette page sont libres de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2010
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la SACD.
|