【发布时间】:2008-12-29 13:46:26
【问题描述】:
我想全球化我的应用程序。 我创建了一个小表单,询问用户他们的语言。 我有很多问题:
问题一:
在程序.cs中
new SplashScreen(_tempAL);
new LangForm(_lang);
Application.Run(new Form1(_tempAL, _lang));
我希望应用程序在用户单击 LangForm 中的 OK 之前不要调用 Form1。 有关 LangForm 中的更多解释:
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();
}
现在,当我调试时,应用程序调用 LangForm,然后调用 Form1,因此两种形式都显示出来。 我希望 Form1 等到用户在 LangForm 中点击 Ok。
问题 2:
我应该什么时候检查语言?不允许签入“initializeComponent()” 所以我应该在这个函数之后检查,然后根据语言设置控件位置。
问题 3:
在应用程序进程中,我会在每个“MessageBox.Show("");" 之前显示一些消息我应该检查语言,或者有另一种方法可以设置语言一次。
问题 4:
我已经搜索了 MessageBox 的接口,因为实际上我想更改它的布局。如何找到 MessageBox 的模板?
提前致谢。
【问题讨论】:
标签: c#