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

C# Discussion :

multilangue dans program.cs et non form


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 20
    Par défaut multilangue dans program.cs et non form
    Bonjour,
    Mon application doit-être multilingue,

    si je met dans ma form principale (et non program.cs)
    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
    private void frToolStripMenuItem_Click(object sender, EventArgs e)
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = FrenchCulture;
                ApplyCulture(new CultureInfo("fr"));
            }
     
            private void enToolStripMenuItem_Click(object sender, EventArgs e)
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = EnglishCulture;
                ApplyCulture(new CultureInfo("en"));
            }
     
            private void alToolStripMenuItem_Click(object sender, EventArgs e)
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = GermanCulture;
                ApplyCulture(new CultureInfo("de-DE"));
     
            }
    ayant déclaré
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    internal CultureInfo EnglishCulture = new CultureInfo("en-US");
            internal CultureInfo GermanCulture = new CultureInfo("de-DE");
            internal CultureInfo FrenchCulture = new CultureInfo("fr-FR");
     
                    public void ApplyCulture(CultureInfo culture)
            {
                // Applies culture to current Thread.
                Thread.CurrentThread.CurrentUICulture = culture;
     
                // Create a resource manager for this Form and determine its fields via reflection.
                ComponentResourceManager resources = new ComponentResourceManager(this.GetType());
                FieldInfo[] fieldInfos = this.GetType().GetFields(BindingFlags.Instance |
                    BindingFlags.DeclaredOnly | BindingFlags.NonPublic);
     
                // Call SuspendLayout for Form and all fields derived from Control, so assignment of 
                //   localized text doesn't change layout immediately.
                this.SuspendLayout();
                for (int index = 0; index < fieldInfos.Length; index++)
                {
                    if (fieldInfos[index].FieldType.IsSubclassOf(typeof(Control)))
                    {
                        fieldInfos[index].FieldType.InvokeMember("SuspendLayout",
                            BindingFlags.InvokeMethod, null,
                            fieldInfos[index].GetValue(this), null);
                    }
                }
     
                // If available, assign localized text to Form and fields with Text property.
                String text = resources.GetString("$this.Text");
                if (text != null)
                    this.Text = text;
                for (int index = 0; index < fieldInfos.Length; index++)
                {
                    if (fieldInfos[index].FieldType.GetProperty("Text", typeof(String)) != null)
                    {
                        text = resources.GetString(fieldInfos[index].Name + ".Text");
                        if (text != null)
                        {
                            fieldInfos[index].FieldType.InvokeMember("Text",
                                BindingFlags.SetProperty, null,
                                fieldInfos[index].GetValue(this), new object[] { text });
                        }
                    }
                }
     
                // Call ResumeLayout for Form and all fields derived from Control to resume layout logic.
                // Call PerformLayout, so layout changes due to assignment of localized text are performed.
                for (int index = 0; index < fieldInfos.Length; index++)
                {
                    if (fieldInfos[index].FieldType.IsSubclassOf(typeof(Control)))
                    {
                        fieldInfos[index].FieldType.InvokeMember("ResumeLayout",
                                BindingFlags.InvokeMethod, null,
                                fieldInfos[index].GetValue(this), new object[] { false });
                    }
                }
                this.ResumeLayout(false);
                this.PerformLayout();
            }
    Ca marche !

    Mais j'ai une form (config) où je devrait effectuer ce changement, comment faire, je ny arrive pas avec le passage de données entre form.

    Ce code ne devrait pas se trouver dans program.cs ?

    Une petite aide SVP ?

  2. #2
    Membre confirmé Avatar de moutey
    Inscrit en
    Mai 2003
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 123
    Par défaut
    salut jai lu et relu mais je suis pas sure davoir bien compris,
    qu'est ce que tu veux faire exactement .
    Qu'est ce que t'entends par
    Mais j'ai une form (config) où je devrait effectuer ce changement,
    Sois plus claire pour qu'on puisse t'aider

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/07/2009, 17h56
  2. Réponses: 3
    Dernier message: 26/10/2005, 09h07
  3. Réponses: 2
    Dernier message: 15/06/2005, 23h56
  4. images stockées dans la base ou non
    Par Guigui_ dans le forum Bases de données
    Réponses: 5
    Dernier message: 18/01/2005, 12h10

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