IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Changer la langue d'un Userform à la volée


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Par défaut Changer la langue d'un Userform à la volée
    Bonjour à tous !

    Je débute un peu en VB.NET... je n'ai pas eu de formation et je programme avec mes pieds ... et j'ai une question .

    Je viens de suivre quelques tutoriaux à droite à gauche pour pouvoir faire un userform multi-langage.
    J'arrive à charger un formulaire avec une des langues entrées. Mais ce que je n'arrive pas (et voudrais) c'est de ce même formulaire le mettre à jour.

    En résumé : J'ai les boutons FR, EN, ES sur un formulaire et je voudrais changer le contenu de ce formulaire (text) à chaque changement de langue.

    question bonus : peut-on garder les informations que l'utilisateur a déjà entrées ?

    Merci à ceux qui ont lut ce message et merci d'avance à ceux qui y répondront

  2. #2
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Bonjour

    Dans l'évènement de tes différents boutons vous devez mettre :

    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
    27
    28
    Public Sub ButtonFR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonFR.Click
     
    TextBox1.Text = "votretexteenfrancais"
    Label1.Text = "votretexteenfrancais"
    Button1.Text = "votretexteenfrancais"
     
    '...
    '....
    'etc
     
    End Sub
     
     
    Public Sub ButtonEN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonEN.Click
     
    TextBox1.Text = "yourtextinenglish"
    Label1.Text = "yourtextinenglish"
    Button1.Text = "yourtextinenglish"
     
    '...
    '....
    'etc
     
    End Sub
     
    '...
    '....
    'etc pour les autres langues
    C'est la solution la plus simple selon moi.

    Bonne continuation


  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Par défaut
    D'abord merci beaucoup de me répondre (et si vite !!)

    Pour le code que vous venez de taper c'est de cette manière que j'ai fait mon interface.
    Mais là, c'était pour découvrir cette possibilité de gestion de la localisation par visual studio directement (qui créé d'ailleurs des fichiers .resx).

    Je sais que ça va me prendre plus de temps pour pas grand chose (en tout cas visuellement...)

    C'est une manière pour moi de progresser que de me donner des petits challenges comme celui-là

    Quel serait le code à entrer pour que mon interface utilise à la volé (pas de déchargement/rechargement de l'interface) ces extensions Form1.en.resx, Form1.fr.resx, Form1.es.resx...

    ----------------------------------------------
    Un Geek ne vieillit pas, il Level UP :p

  4. #4
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Effcetivement la "localisation" via les fichiers resx est la façon "normale" et appropriée pour faire du multi-languages.

    Je vous conseille dans ce cas de regarder ce tuto.

    Bonne continuation

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Par défaut
    Ok encore merci methylene !

    je viens de regarder, ... d'après ce que je comprends, il faut donc :

    en 1° définir la langue (par mes boutons par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Public EnglishCulture = New System.Globalization.CultureInfo("en-US")
    Public FrenchCulture = New System.Globalization.CultureInfo("fr-FR")
    sur l'action de mon bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.Threading.Thread.CurrentThread.CurrentUICulture = FrenchCulture
    et en 2°, réaffecter pour chaque texte (avec l'aide de GetString) la valeur à lire dans le fichier ressource définit lors de 1.

    La seconde étape me semble plutôt fastidieuse... voir inutile dans la logique d'alléger le code...

    Avant de déclarer le sujet "résolu" quelqu'un peut-il me dire si j'ai compris (dans l'ensemble) la manip ?

    Merci beaucoup !

  6. #6
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Testes par toi-même tu verras bien, c'est comme ça qu'on apprend.

    Soit dans ton projet existant soit en créant un autre projet "vierge", ou une copie de ton projet en cours.

    Bonne continuation.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Par défaut
    Ok !

    Merci

  8. #8
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Bien évidemment si tu n'y arrives pas après plusieurs essais et après t'être creusé la tête, ou encore après avoir cherché sur le net, tu peux revenir te renseigner !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer la langue des raccourcis clavier?
    Par tictactouc dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/01/2006, 02h07
  2. [VCL] Comment changer de langue à l'exécution ?
    Par Zatoobux dans le forum Composants VCL
    Réponses: 1
    Dernier message: 27/09/2005, 18h08
  3. Changer la langue de l'application
    Par dabeuliou dans le forum Qt
    Réponses: 3
    Dernier message: 26/09/2005, 15h40
  4. [Debutant(e)] changer la langue dans eclipse
    Par omega dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 16/03/2004, 16h47
  5. fonction MessageDlg Delphi :changer la langue
    Par julie20 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 06/06/2003, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo