problem :globalization in C# using VS2005
<p>I want to globalize my application.
I have created a small form which asks the user their language.
I have a number of problems :</p>

<p>Problem 1:</p>

<p>In program.cs</p>

<pre><code>new SplashScreen(_tempAL);
new LangForm(_lang);
Application.Run(new Form1(_tempAL, _lang));
</code></pre>

<p>I want the application not to call Form1 until the user clicks on OK in LangForm .
For more explaintion in LangForm :</p>

<pre><code>    public LangForm(char _langChar)
    {
        InitializeComponent();
        _ch = _langChar;
        this.TopMost = true;

        this.Show();

    }

    private void _btnOk_Click(object sender, EventArgs e)
    {
        string _langStr = _cbLang.SelectedText;
        switch (_langStr)
        {
            case "English":
                _ch = 'E';
                this.Hide();
                break;
            case "Arabic":
                _ch = 'A';
                this.Hide();
                break;
            case "Frensh":
                _ch ='F';
                this.Hide();
                break;
        }
        _pressedOk = true;
    }

    private void _btnCancel_Click(object sender, EventArgs e)
    {
        this.Close();
        Application.Exit();
    }
</code></pre>

<p>Now when I debug, the application calls LangForm and then Form1 so both forms are shown.
I want Form1 to wait until the user clicks on Ok in LangForm.</p>

<p>Problem 2:</p>

<p>When should I check on the language?  It's not allowed to check in "initializeComponent()"
so should I check after this function and then set controls location according to the language.</p>

<p>Problem 3:</p>

<p>Within application process I displays some message so before each "MessageBox.Show("");" I should check for the language or there is another way where I may set the language once.</p>

<p>Problem 4:</p>

<p>I have searched for interfaces for MessageBox as actually I want to change its layout. How can I find templates for MessageBox?</p>

<p>Thanks in-advance.</p>
