Bonjour,
j'essaye de creer un userControl sous VB2008 Express. Le but du jeu de ce control serait de pouvoir afficher un angle em radians sous plusieurs formats differents (radians, degres, grades, degres/minutes, etc...).
J'ai donc une propriete ValRad pour la valeur en radian a afficher et une propriete Caption pour la valeur a afficher en focntion du format choisi.
Quand je teste mon controle, si je modifie la propriete ValRad, la prorpiete Caption n'est pas mise a jour tant que je ne clique pas sur le champ "Caption" dans la liste des proprietes et reciproquement si je modifie la valeur de la propriete "Caption", la propriete "ValRad" n'est mise a jour qu'en cliquant dessus.
Voici le principe du code que j'ai pour le moment :
Je suis bien conscient aussi qu'il y a un risque de faire une boucle infinie si je ne mets pas un flag quelquepart, le changement d'une propriete entrainant le changement d'une autre, etc... mais pour proceder pas a pas j'aimerais pour le moment au moins que la deuxieme propriete soit mise a jour au changement de la premiere, je verrai ensuite pour eviter le phenomene de cascade
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Imports System.Math PublicClass UserControl1 Private ValeurRadian AsDouble PublicProperty ValRad() AsDouble Get Return ValeurRadian EndGet Set(ByVal value AsDouble) ValeurRadian = value Caption = (value / PI * 180).ToString EndSet EndProperty Private CaptionDisplayed AsString PublicProperty Caption() AsString Get Return CaptionDisplayed EndGet Set(ByVal value AsString) CaptionDisplayed = value TextBox1.Text = value ValeurRadian = Val(value) / 180 * PI EndSet EndProperty EndClass
Partager