OVH Cloud OVH Cloud

TextBox depuis un module

4 réponses
Avatar
Julien
Bonjour,
je n'arrive pas à écrire dans une textbox de ma forme depuis un module de
mon projet !

J'ai plaçé la portée du contrôle à Public (Modifiers = Public) et j'ai
déclaré "Imports Form1" dans mon module.
Il faudrait que mon textbox soit "Shared".

Que faire ? Merci à tous.

Julien

4 réponses

Avatar
ng
Salut,

Il faut que ton textbox soit public et que tu puisses accéder à l'instance
concernée de ta form.
Mais il faut savoir qu'en .Net les modules ne sont pas une solution élégante
de programmer (car en plus ils sont simplement traduits en classe à la
compilation).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Julien wrote:
Bonjour,
je n'arrive pas à écrire dans une textbox de ma forme depuis un
module de mon projet !

J'ai plaçé la portée du contrôle à Public (Modifiers = Public) et j'ai
déclaré "Imports Form1" dans mon module.
Il faudrait que mon textbox soit "Shared".

Que faire ? Merci à tous.

Julien


Avatar
David Bouchard
En faite, maintenant, au lieu de créer des modules, il te faut créer des
classes seulement. Ainsi, dans le cas ou tu voudrait créer un module
contenant plusieurs fonctions, tu créeras une classe à la place possédant
toutes tes fonctions en questions et si tu veux éviter d'instancié ta classe
pour utiliser les fonctions internes, tu n'as qu'a placer shared dans la
définition de ta fonction.
Example:

public Class MesFonctions

public shared function Addition(byval x as integer, byval y as integer) as
integer

return x +y

end function

end class

Une fois ta class créé, tu peux utiliser celle-ci via un click de bouton par
exemple

Private Sub On_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles button.Click

dim Val as integer

val = MesFonctions.addition(3,51)

end sub



Dans le cas ou tu voudrais controler un textbox via une fonction, tu n'as
qu'à passé ton textbox comme paramètre à ta fonction

Public Class MesFonctions

Public Shared Sub Changer_Textbox(ByVal textbox As TextBox)

textbox.Text = "Allo toi"

End Sub

End Class

Dans le click de ta formulaire :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

MesFonctions.Changer_Textbox(Me.TextBox1)

End Sub

J'espere t'avoir aider



David



"Julien" a écrit dans le message de news:
crg8fc$5fm$
Mais encore ?
J'ai mis mon TextBox Public mais rien n'y fais.
Comment y accéder depuis une autre classe ?

Que faire pour faire un code propre sans modules ?

Merci


"ng" a écrit dans le message de
news:
Salut,

Il faut que ton textbox soit public et que tu puisses accéder à
l'instance
concernée de ta form.
Mais il faut savoir qu'en .Net les modules ne sont pas une solution


élégante
de programmer (car en plus ils sont simplement traduits en classe à la
compilation).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Julien wrote:
> Bonjour,
> je n'arrive pas à écrire dans une textbox de ma forme depuis un
> module de mon projet !
>
> J'ai plaçé la portée du contrôle à Public (Modifiers = Public) et j'ai
> déclaré "Imports Form1" dans mon module.
> Il faudrait que mon textbox soit "Shared".
>
> Que faire ? Merci à tous.
>
> Julien








Avatar
Julien
Mais encore ?
J'ai mis mon TextBox Public mais rien n'y fais.
Comment y accéder depuis une autre classe ?

Que faire pour faire un code propre sans modules ?

Merci


"ng" a écrit dans le message de
news:
Salut,

Il faut que ton textbox soit public et que tu puisses accéder à l'instance
concernée de ta form.
Mais il faut savoir qu'en .Net les modules ne sont pas une solution


élégante
de programmer (car en plus ils sont simplement traduits en classe à la
compilation).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Julien wrote:
> Bonjour,
> je n'arrive pas à écrire dans une textbox de ma forme depuis un
> module de mon projet !
>
> J'ai plaçé la portée du contrôle à Public (Modifiers = Public) et j'ai
> déclaré "Imports Form1" dans mon module.
> Il faudrait que mon textbox soit "Shared".
>
> Que faire ? Merci à tous.
>
> Julien




Avatar
Julien
Merci beaucoup, c'est très clair, je fonctionnerai comme ça à l'avenir !


"David Bouchard" a écrit dans le message de
news:
En faite, maintenant, au lieu de créer des modules, il te faut créer des
classes seulement. Ainsi, dans le cas ou tu voudrait créer un module
contenant plusieurs fonctions, tu créeras une classe à la place possédant
toutes tes fonctions en questions et si tu veux éviter d'instancié ta


classe
pour utiliser les fonctions internes, tu n'as qu'a placer shared dans la
définition de ta fonction.
Example:

public Class MesFonctions

public shared function Addition(byval x as integer, byval y as integer) as
integer

return x +y

end function

end class

Une fois ta class créé, tu peux utiliser celle-ci via un click de bouton


par
exemple

Private Sub On_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles button.Click

dim Val as integer

val = MesFonctions.addition(3,51)

end sub



Dans le cas ou tu voudrais controler un textbox via une fonction, tu n'as
qu'à passé ton textbox comme paramètre à ta fonction

Public Class MesFonctions

Public Shared Sub Changer_Textbox(ByVal textbox As TextBox)

textbox.Text = "Allo toi"

End Sub

End Class

Dans le click de ta formulaire :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

MesFonctions.Changer_Textbox(Me.TextBox1)

End Sub

J'espere t'avoir aider



David



"Julien" a écrit dans le message de news:
crg8fc$5fm$
> Mais encore ?
> J'ai mis mon TextBox Public mais rien n'y fais.
> Comment y accéder depuis une autre classe ?
>
> Que faire pour faire un code propre sans modules ?
>
> Merci
>
>
> "ng" a écrit dans le message de
> news:
>> Salut,
>>
>> Il faut que ton textbox soit public et que tu puisses accéder à
>> l'instance
>> concernée de ta form.
>> Mais il faut savoir qu'en .Net les modules ne sont pas une solution
> élégante
>> de programmer (car en plus ils sont simplement traduits en classe à la
>> compilation).
>>
>> --
>> Nicolas G.
>> FAQ VB : http://faq.vb.free.fr
>> API Guide : http://www.allapi.net
>> Google Groups : http://groups.google.fr/
>> MZ-Tools : http://www.mztools.com/
>>
>> Julien wrote:
>> > Bonjour,
>> > je n'arrive pas à écrire dans une textbox de ma forme depuis un
>> > module de mon projet !
>> >
>> > J'ai plaçé la portée du contrôle à Public (Modifiers = Public) et


j'ai
>> > déclaré "Imports Form1" dans mon module.
>> > Il faudrait que mon textbox soit "Shared".
>> >
>> > Que faire ? Merci à tous.
>> >
>> > Julien
>>
>>
>
>