Fonction Move VB.NET

Résolu/Fermé
Tung Messages postés 187 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 20 août 2013 - 13 déc. 2010 à 10:11
Tung Messages postés 187 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 20 août 2013 - 27 janv. 2011 à 00:06
Bonjour,
récemment j'ai trouvé un bout du code écrit en vb6 contenant les 2 fonctions
Move et ExistProperty
sauf qu'elles marchent pas sous vb.net .Svp Pouvez vous m'indiquer l'équivalent des 2 fonctions en vb.net

voila mon code

Dim ctl As Control
If (Me.WindowState = 1) Then Exit Sub
For Each ctl In Me.Controls
If TypeOf ctl Is ComboBox Then
'Les comboboxes ont leur propriété Height en lecture seule
ctl.Left = ctl.Left * Me.Width / lng
ctl.Top = ctl.Top * Me.Height / lar

Move(ctl.Left * Me.Width / lng, ctl.Top * Me.Height / lar, ctl.Width * Me.Width / lng)
Else
If ExistProperty(ctl, "Width") And ExistProperty(ctl, "Height") Then
ctl.Move(ctl.Left * Me.Width / lng, ctl.Top * Me.Height / lar, _
ctl.Width * Me.Width / lng, ctl.Height * Me.Height / lar)
End If
End If
Next
lng = Me.Width
lar = Me.Height

Lng et lar est déclarer est initialiser au chargement de la form elle prend
lng = Me.Width
lar = Me.Height

A voir également:

2 réponses

Tung Messages postés 187 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 20 août 2013 8
13 déc. 2010 à 11:16
up1
0
Tung Messages postés 187 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 20 août 2013 8
14 déc. 2010 à 23:03
uP2
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 15/12/2010 à 13:50
Bonjour,
Bon, j'ai un peu plus de temps pour te répondre...
1°) Je ne vois pas ce que tu essaye de faire.
2°) Doublons de commandes dans...
'Les comboboxes ont leur propriété Height en lecture seule     
'Ici tu positionne un combobox   Gauche et Haut....    
ctl.Left = ctl.Left * Me.Width / lng     
ctl.Top = ctl.Top * Me.Height / lar     

'Et bien que Move n'existe plus en .Net, tu veux faire exactement la même chose, donc tu supprime cette ligne.    
Move(ctl.Left * Me.Width / lng, ctl.Top * Me.Height / lar, ctl.Width * Me.Width / lng) 

3°) En .Net il faut deux fonctions pour remplacer le Move, ce qui n'est pas plus mal en fait.
       Ctl.Location = New System.Drawing.Point (ctl.Left * Me.Width / lng , ctl.Top *   Me.Height / lar )    
            
    Ctl.Size = New System.Drawing.Size(ctl.Left * Me.Width / lng, ctl.Top * Me.Height / lar, ctl.Width * Me.Width / lng) 

Note que je n'ai pas contrôlé tes formules.
4°) ExistProperty ?? existe pas en VB6 et VB.Net probablement une fonction perso d'une classe ou d'un contrôle.
Tu peu y remédier en appliquant les dimentions précéder d'un On Error Resume Next
Pour mieux comprendre, explique le nombre de contrôles que tu a sur ta forme et leurs types.
Et ce que tu veux faire.
A+

L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0
Tung Messages postés 187 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 20 août 2013 8
27 janv. 2011 à 00:06
merci pour la réponse.
j'ai trouvé la solution en .net
tout ce code en vb6 est l'équivalent de "anchor" en vb.net
donc il suffit de changer la propriété "anchor" dans la liste des propriété du contrôle visé
0