Meilleur auteur de réponses
Fonction ou .... ?

Question
-
Bonjour,
Dans mon application, j'ai plusieurs fois le code suivant
Separator.Visible = False
Txt_Recherche.Visible = False
Btn_Fl_Dernier.Image = My.Resources.Dernier_T
Btn_Fl_Precedent.Image = My.Resources.Precedent_T
Btn_Fl_Suivant.Image = My.Resources.Suivant_T
Btn_Fl_Premier.Image = My.Resources.Premier_T
Btn_Reafficher.Image = My.Resources.Reafficher
Btn_Chercher.Image = My.Resources.Chercher
Btn_Quitter.Image = My.Resources.Sortir
Lbl_Encour.BackColor = Color.FromArgb(118, 213, 185)
Lbl_Total.BackColor = Color.FromArgb(157, 225, 164)
Le nom de la forme change a chaque fois exemple : Frm_Clients ou Frm_Articles ou Frm_Stock,...
J'aimerai le replacer par une fonction ou ... ?
Donc, je me dis que je peut avoir une fonction qui l'affiche ca une sule fois, suivant la forme active
comment faire
Merci
Cordialement
Salva56
Réponses
-
Bonjour tout le monde ;)
Dans ce genre de cas, on peut très bien imaginer d'utiliser une From de base et d'en faire hériter les autres.
Une seconde approche pourrait aussi consister à implémenter une interface sur les Form
Jérémy Jeanson MCP, MCTS http://blogs.codes-sources.com/JeremyJeanson/ (French or English spoken)- Proposé comme réponse JeremyJeansonMVP lundi 23 août 2010 08:11
- Marqué comme réponse Alex Petrescu mercredi 1 septembre 2010 10:57
Toutes les réponses
-
Bonjour,
Tu peux écrire une routine comme ceci
Sub ParamForm(ByVal F1 As Form)
With F1
.Separator.Visible = False
.Txt_Recherche.Visible = False
.Btn_Fl_Dernier.Image = My.Resources.Dernier_T
.Btn_Fl_Precedent.Image = My.Resources.Precedent_T
.Btn_Fl_Suivant.Image = My.Resources.Suivant_T
.Btn_Fl_Premier.Image = My.Resources.Premier_T
.Btn_Reafficher.Image = My.Resources.Reafficher
.Btn_Chercher.Image = My.Resources.Chercher
.Btn_Quitter.Image = My.Resources.Sortir
.Lbl_Encour.BackColor = Color.FromArgb(118, 213, 185)
.Lbl_Total.BackColor = Color.FromArgb(157, 225, 164)
End With
End Subet appeler la routine de cette manière:
ParamForm(Form3)
Form3.Show()
ou alors je pensais à select caseselect Case f2 as form
Case Form1
Form1.Txt_Recherche.Visible = True
Case Form2
Case Else
End Select
fred- Proposé comme réponse EhJoe mercredi 18 août 2010 17:50
-
Bonjour tout le monde,
L'approche la plus propre consiste à ecrire un module ou un classe Vb et d'y inclure la méthode proprosée par fred75 mais en la rendant statique, ce qui facilitera sa réutilisation :
Public Class MethodesForm ''' <summary> ''' Méthode statique ''' </summary> ''' <param name="f"></param> ''' <remarks></remarks> Public Shared Sub ParamForm(ByVal F1 As Form) With F1 .Separator.Visible = False .Txt_Recherche.Visible = False .Btn_Fl_Dernier.Image = My.Resources.Dernier_T .Btn_Fl_Precedent.Image = My.Resources.Precedent_T .Btn_Fl_Suivant.Image = My.Resources.Suivant_T .Btn_Fl_Premier.Image = My.Resources.Premier_T .Btn_Reafficher.Image = My.Resources.Reafficher .Btn_Chercher.Image = My.Resources.Chercher .Btn_Quitter.Image = My.Resources.Sortir .Lbl_Encour.BackColor = Color.FromArgb(118, 213, 185) .Lbl_Total.BackColor = Color.FromArgb(157, 225, 164) End With End Sub End Class
qui pourra s'utiliser comme ceci :
MethodesForm.ParamForm(Frm_Clients)
Jérémy Jeanson MCP, MCTS http://blogs.codes-sources.com/JeremyJeanson/ (French or English spoken)- Proposé comme réponse JeremyJeansonMVP mercredi 18 août 2010 15:16
-
Bonjour/bonsoir,
Merci pour vos reponse.
J'ai ceci.
Apparemment, il ne reconnait pas les objets contenus dans la forme.
Voici comment je l'appelle
Dim Frm As System.Windows.Forms.Form
Frm = Frm_Clients
Cls_Formes.Images_Boutons(Frm)
Merci de votre aide.
Cordialement
Salva56
-
Bonjour,
Le compilateur ne reconnait pas les membres de l’objet Frm parce-que l’objet est déclaré comme System.Windows.Forms.Form et en fait il est un objet dérivé de cette classe. Pour dépasser cette inconvenance, créez un objet dérivé de Form qui aura tous ces boutons dont vous voulez modifier l’image. A partir de cet objet dérivé (FrmCustom, disons), créez des classes avec des noms différents (Frm_Clients, Frm_Articles etc). Ce sont des objets de ces classes que vous allez envoyer comme paramètre a la méthode ParamForm.
Une meilleure solution serait de créer une méthode ParamForm dans la classe FrmCustom et d’appeler cette méthode dans chaque objet, pour mettre à jour les contrôles membres.
Cordialement,
Alex
________________
Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007
Astuces pour Visual Studio 2010
XNA – Développement jeux vidéo
Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF
Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.
-
-
Bonjour tout le monde ;)
Dans ce genre de cas, on peut très bien imaginer d'utiliser une From de base et d'en faire hériter les autres.
Une seconde approche pourrait aussi consister à implémenter une interface sur les Form
Jérémy Jeanson MCP, MCTS http://blogs.codes-sources.com/JeremyJeanson/ (French or English spoken)- Proposé comme réponse JeremyJeansonMVP lundi 23 août 2010 08:11
- Marqué comme réponse Alex Petrescu mercredi 1 septembre 2010 10:57