BorderStyle inconnu d'un TxBox dérivé

PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 - 25 sept. 2006 à 12:25
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 26 sept. 2006 à 14:22
Bonjour.

Je dois dans le cadre d'un développement créer un controle qui dérive du composant TxBox normal.

Je trouve quasimment toutes les propriétés, sauf par exemple la propriété BorderStyle ou Locked.
Pour la propriété Locked, celle ci apparait pourtant bien à l'écran...

Est ce qu'il faut ajouter quelque chose, dans mon code, si je souhaite dériver des propriétés de type graphique à un controle ?

Voilà comment je procède (mais ça n'avancera pas le problème je pense ^^)

public
class TxBox : TextBox
// Hérite de textBox{

//etc...
}

Merci pour vos conseils.

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher

5 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
25 sept. 2006 à 14:22
pour les bordures... j'avais posté une source à ce sujet il y a quelques mois : http://www.csharpfr.com/codes/FLATCONTROLS-VOS-TEXTBOX-COMBOBOX-DATETIMEPICKER-DEVIENNENT-PLAT_31939.aspx

il faut passer par les APIs

Pour la propriété Locked... à vérifier, mais il me semble quelle est ajoutée par le designer... et qu'elle ne sert qu'à lui !

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 1
26 sept. 2006 à 11:25
Cela ne répond pas à ma question...

Je ne peux pas plus y accéder...
Je n'ai pas accès à la propriété borderstyle dans mes 'public override ... BorderStyle'
Alors que je vois bien BackColor et ForeColor...

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
26 sept. 2006 à 11:29
c'est parcequ'elle n'existe pas !

La classe TextBox hérite de TextBoxBase qui hérite à son tour de Control. Aucune de ces classe n'a de propriété BorderStyle ! Donc, c'est normal que tu ne puisses pas la surcharger.

La source que je t'ai donné en exemple utilise les APIs pour aller redessiner sur les bordures en écoutant le message WM_NCPAINT envoyé par Windows à ton TextBox.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 1
26 sept. 2006 à 14:10
Ok.

Ceci explique donc pourquoi j'ai le message suivante
"Le mot clé new est requis sur 'TxEuTxBoxNet.TxBox.BorderStyle', car il masque le membre hérité 'System.Windows.Forms.TextBoxBase.BorderStyle'"

public BorderStyle BorderStyle{

get{
return
base.BorderStyle;}

set{
base.BorderStyle =
value;}}

Par contre, je ne vois pas comment implémenter les solutions de ton application Flatcontrol... Pourrais tu m'éclairer un peu plus stp ?

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
26 sept. 2006 à 14:22
en fait... ma source utilise un moyen détourné de gérer les bordures des textboxes.

je m'accroche a un controle en m'appropriant sont Handle grâce à la classe NativeWindow (méthode Attach de FlatControl.cs). Ensuite, je peux écouter les messages que Windows lui envoie.
Les messages importants sont WM_PAINT et WM_NCPAINT.

Ensuite dans la méthode OnPaint, je redessine le contrôle avec les bordures que je veux...

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
Rejoignez-nous