Bonjour à tous,

j'ai un petit soucis qui à priori n'est rien, mais qui me bloque depuis deux jours.

J'essaie d'internationalisé mon application winform.
Mon appli se présenta ainsi:
* une form appelé Admin contenant plein de control dont une datagridview, et une tablelayoutpanel.
* 2 autres form

Ma form admin, via un menu appèle une des deux form.
Dans ma tablelayoutpanel plein d'information qui n'ont pas besoin d'être localizer mais j'ai aussi par ligne 1 controls bouton


Dans mon appli, j'arrive parfaitement à modifier la langue des controls statique ainsi que les header de ma datagridview.

Mon problème ce situe dans la localization des text insérés dynamiquement.

Suite à pas mal de lecture sur ce même forum et bien d'autre, j'ai essayé de mettre en oeuvre le ResourceManager mais en vain. Je tombe sur cette erreur:
Could not find any resources appropriate for the specified culture or the neutral culture.
Make sure "Admin-RaceConnection.Admin.resources" was correctly embedded or linked into assembly "Admin-RaceConnection" at compile time, or that all the satellite assemblies required are loadable and fully signed.

voici ce que je fais dans mon code:
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
private System.Resources.ResourceManager RM = null;

        private CultureInfo EnglishCulture = new CultureInfo("en-GB");
        private CultureInfo FrenchCulture = new CultureInfo("fr-FR");
        private CultureInfo GermanCulture = new CultureInfo("de-DE");

        public Admin()
        {
            System.Threading.Thread.CurrentThread.CurrentUICulture = FrenchCulture;
            InitializeComponent();
            frenchToolStripMenuItem.Checked = true;
        }

        private void Admin_Load(object sender, EventArgs e)
        {
            RM = new System.Resources.ResourceManager("Admin-RaceConnection.Admin", typeof(Admin).Assembly);
            //RM = new System.Resources.ResourceManager("Admin-RaceConnection.Admin", System.Reflection.Assembly.GetExecutingAssembly());

            // initialisation des controls
            try
            {
                StreamReader fichierIni = new StreamReader("raceConAdmin.ini");
                string ligne;
                while (!fichierIni.EndOfStream) [...]
            }
       }




        private void frenchToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Controls.Clear();
            InitializeComponent();
            frenchToolStripMenuItem.Checked = true;
            System.Threading.Thread.CurrentThread.CurrentUICulture = FrenchCulture;
        }

        private void englishToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Controls.Clear();
            InitializeComponent();
            englishToolStripMenuItem.Checked = true;
            System.Threading.Thread.CurrentThread.CurrentUICulture = EnglishCulture;
        }

        private void deutchToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Controls.Clear();
            InitializeComponent();
            deutchToolStripMenuItem.Checked = true;
            System.Threading.Thread.CurrentThread.CurrentUICulture = GermanCulture;
        }



        private void InsertLigneClassement(administrationClassement ligneVoiture)
        {
            Label rowpos = new Label();
            Label rowvoit = new Label();
            Label rowclasse = new Label();
            Label rowpilote = new Label();
            Label rownbTours = new Label();
            Label rowstatus = new Label();
            Button rowModif = new Button();
            [...]
            // 
            // Modif
            // 
            rowModif.AutoSize = false;
            rowModif.Dock = DockStyle.Top;
            rowModif.Text = RM.GetString("penalite");
            rowModif.Click += new EventHandler(rowModif_Click);
            [...]
            rowModif.Name = ligneVoiture.mDriverName + "/" + ligneVoiture.mVehicleName + "/" + ligneVoiture.mVehicleClass + "/"
                + ligneVoiture.mTotalLaps;
            [...]
            ListeClassement.Controls.Add(rowModif, 5, -1);[...]
        }
En gras c'est l'endroit de l'erreur.

En gros je n'arrive pas à utiliser le ResourceManager.
Voici la structure de mon appli:

Admin-RaceConnection
Admin
Admin.cs
Admin.de.resx
Admin.Designer
Admin.en.resx
Admin.fr.resx
Admin.resx

Merci pour votre aide

edit:voici les liens qui m'ont aidé:
http://www.developpez.net/forums/d10...isation-forms/
http://www.developpez.net/forums/d82...x-multilingue/
http://morpheus.developpez.com/localisationdotnet/