Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

À Gilles Tourreau - Label vertical (suite)

23 réponses
Avatar
Annie
M'avez-vous oublié ???? J'ai besoin de votre aide pour finaliser ce
problème!!!!!

J'ai déjà plusieurs livres de lus mais il y a tellement des choses à retenir
qu'on en perds des bouts! Alors j'essaie d'apprendre ce qui est le plus utile
pour moi pour l'instant!!! Veuillez m'en excuser!!!

J'apprends quelquechose de très intéressant avec vous qui va me servir
beaucoup dans le futur! Mais ce n'est pas évident!!

J'ai réussi à créer cette nouvelle classe avec une certaine difficulté et il
n'y a pas d'erreur! Sauf que le contrôle ne fait plus ce qu'il faisait
auparavant! Je ne vois que les 2-4 premières lettres selon l'alignement
choisit! Pour les autres alignements, je ne vois plus rien de mon texte!

Que faire ? Je vous envoi le code de la classe :


Public Class LabelVertical
Inherits Label


Protected Overrides Sub OnPaint(ByVal pe As PaintEventArgs)
Using sf As StringFormat = New StringFormat()
If TextAlign = ContentAlignment.TopCenter Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.TopLeft Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.TopRight Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.MiddleLeft Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.MiddleCenter Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.MiddleRight Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.BottomLeft Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.BottomCenter Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.BottomRight Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Far
End If

pe.Graphics.RotateTransform(-90)
pe.Graphics.TranslateTransform(-Height, 0)

Using sb As System.Drawing.SolidBrush = New SolidBrush(ForeColor)
pe.Graphics.DrawString(Text, Font, sb, ClientRectangle, sf)
End Using
End Using
End Sub
End Class


Est-ce correct? Où est mon problème?

Merci!

3 réponses

1 2 3
Avatar
Annie
J'ai essayé le contrôle "LabelVertical" dans une application très simple et
cela fonctionne très bien!!!!!!!

Mais mon application est très volumineuse (plus de 60 formulaires) et je ne
peux pas envoyer qu'une partie car ce serait beaucoup trop compliquée!
Quand je mets ce contrôle sur un formulaire et que j'exécute mon
application, je vois en arrière-plan qu'il passe en revue les différents
onglets de mon formulaire!!!
Pourtant, je suis en "exécution"!!! Pourquoi fait-il cela!!! C'est pourquoi
lorsque je reviens en mode conception, il rend invisisble certains contrôle
dans la première page de mon onglet (et seulement la 1ère page) et si je n'ai
pas d'onglet, c'est les contrôles du formulaire

Serait-ce les nouvelles focntionnalités utilisées dans la création de ce
contrôle!!
Exemple : "Using" ou autres ???????

Y-aurait-il une autre façon de construire ce contrôle plus simplement
(ancienne méthode) ????

J'aimerais bien comprendre!!!!

Merci!

"Gilles TOURREAU" wrote:

Le Thu, 11 Oct 2007 20:08:01 +0200, Annie
a écrit:

> Le "LabelVertical" me cause énormément de problème!!!
> Ferme le formulaire et ré-ouvre pour voir tous mes contrôles!
> Si je l'exécute, en conception par la suite, ferme les formulaires et
> ré-ouvres!
> De temps en temps, une erreur majeure concernant la classe du
> "LabelVertical"
> Obliger de fermer toute l'application !!!
> Je ne peux pas vous envoyer un exemple car mon application est trop gros
> (300,000 lignes)
>
> J'ABANDONNE CE CONTRÔLE = TROP DE PROBLÈMES !!!!!!!!
>

Je ne vous demande pas d'envoyer votre projet total..., mais un simple
projet auquel il y a une form avec le contrôle label vertical qui pose
problème...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Avatar
Gilles TOURREAU
Le Wed, 17 Oct 2007 15:25:00 +0200, Annie
a écrit:

J'ai essayé le contrôle "LabelVertical" dans une application très simple
et
cela fonctionne très bien!!!!!!!

Mais mon application est très volumineuse (plus de 60 formulaires) et je
ne
peux pas envoyer qu'une partie car ce serait beaucoup trop compliquée!
Quand je mets ce contrôle sur un formulaire et que j'exécute mon
application, je vois en arrière-plan qu'il passe en revue les différents
onglets de mon formulaire!!!
Pourtant, je suis en "exécution"!!! Pourquoi fait-il cela!!! C'est
pourquoi
lorsque je reviens en mode conception, il rend invisisble certains
contrôle
dans la première page de mon onglet (et seulement la 1ère page) et si je
n'ai
pas d'onglet, c'est les contrôles du formulaire

Serait-ce les nouvelles focntionnalités utilisées dans la création de ce
contrôle!!
Exemple : "Using" ou autres ???????



Non... Si le problème n'est pas reproductible dans un projet simple, cela
vient très certainement de votre formulaire et du code .NET qui est
peut-être executé en mode Design...

Essayez de déboguer votre projet en mode Design via une autre instance de
Visual Studio...
Plus d'informations sur comment déboguer en mode Design :

http://msdn2.microsoft.com/fr-fr/library/5ytx0z24(VS.80).aspx


Y-aurait-il une autre façon de construire ce contrôle plus simplement
(ancienne méthode) ????



cf. Google...


J'aimerais bien comprendre!!!!

Merci!



Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Annie
J'ai trouvé sur "Google" un autre contrôle qui fait la même action que celui
que vous avez construit!

C'est une classe créée à même mon application. Je compile mon programme et
je reviens en mode "design" et mon contrôle apparaît dans la boîte à outils
(dans "Composants <nomDeMonApplication>")

Je l'ai mis sur un formulaire et il fait la MÊME chose que votre contrôle!
En exécution, il passe en revue toutes mes pages d'onglets en arrière-plan!
Lorsque je reviens en mode design, il manque des contrôles!!

Donc, votre contrôle est correct!

Le fait de créer une classe pour créer un nouveau contrôle dans mon
application est la source de mon problème! Il y a quelquechose dans mon
application qui causent ce problème!

J'ai lu le moyen de "débogger" en mode design. Il va falloir que je fasse
des tests!

Le fait de créér une classe........??????????????????????????

"Gilles TOURREAU" wrote:

Le Wed, 17 Oct 2007 15:25:00 +0200, Annie
a écrit:

> J'ai essayé le contrôle "LabelVertical" dans une application très simple
> et
> cela fonctionne très bien!!!!!!!
>
> Mais mon application est très volumineuse (plus de 60 formulaires) et je
> ne
> peux pas envoyer qu'une partie car ce serait beaucoup trop compliquée!
> Quand je mets ce contrôle sur un formulaire et que j'exécute mon
> application, je vois en arrière-plan qu'il passe en revue les différents
> onglets de mon formulaire!!!
> Pourtant, je suis en "exécution"!!! Pourquoi fait-il cela!!! C'est
> pourquoi
> lorsque je reviens en mode conception, il rend invisisble certains
> contrôle
> dans la première page de mon onglet (et seulement la 1ère page) et si je
> n'ai
> pas d'onglet, c'est les contrôles du formulaire
>
> Serait-ce les nouvelles focntionnalités utilisées dans la création de ce
> contrôle!!
> Exemple : "Using" ou autres ???????

Non... Si le problème n'est pas reproductible dans un projet simple, cela
vient très certainement de votre formulaire et du code .NET qui est
peut-être executé en mode Design...

Essayez de déboguer votre projet en mode Design via une autre instance de
Visual Studio...
Plus d'informations sur comment déboguer en mode Design :

http://msdn2.microsoft.com/fr-fr/library/5ytx0z24(VS.80).aspx

>
> Y-aurait-il une autre façon de construire ce contrôle plus simplement
> (ancienne méthode) ????

cf. Google...

>
> J'aimerais bien comprendre!!!!
>
> Merci!

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



1 2 3