C# 将用户控件中的labelText更改为其自己的.cs之外
过去几天我一直在谷歌上搜索,但没有结果 我有一个叫做MainForm的表单,我在上面放置了四个用户控件。 这些用户控件包含标签和按钮。现在我创建了一个名为Language.cs的文件 在这个文件中,我想在按下一个用户控件中的按钮时更改所有标签的语言。 当我在ucSettings.cs中进行编码时,我会这样做:C# 将用户控件中的labelText更改为其自己的.cs之外,c#,.net,user-controls,windows-mobile-6.5,C#,.net,User Controls,Windows Mobile 6.5,过去几天我一直在谷歌上搜索,但没有结果 我有一个叫做MainForm的表单,我在上面放置了四个用户控件。 这些用户控件包含标签和按钮。现在我创建了一个名为Language.cs的文件 在这个文件中,我想在按下一个用户控件中的按钮时更改所有标签的语言。 当我在ucSettings.cs中进行编码时,我会这样做: this.label1.Text = res_man.GetString("label_text", cul); 但这不起作用,因为我的Resourcemanager和我的文化信息都在另
this.label1.Text = res_man.GetString("label_text", cul);
但这不起作用,因为我的Resourcemanager和我的文化信息都在另一个文件中。
所以我有
- MainForm包含四个用户控件
- 用户控件被称为ucAnimalInfo、ucAnimalInput、ucSettings和ucMenuStrip
- 我在ucSettings中有一个按钮,必须更改语言
- 应在文件Language.cs中设置文本
private void Settings_Language_Cbox_SelectedIndexChanged(object sender, EventArgs e)
{
string SelectedIndex = Settings_Language_Cbox.SelectedItem.ToString();
switch (SelectedIndex)
{
case "English(English)":
ci = CultureInfo.CreateSpecificCulture("en-US");
LanguageSelection = 5;
break;
case "Nederlands(Dutch)":
ci = CultureInfo.CreateSpecificCulture("nl-NL");
LanguageSelection = 6;
break;
}
现在我想做一些类似的事情:
private void Settings_Save_Btn_Click(object sender, EventArgs e)
{
Language.Change();
}
因此它调用Language.cs中的Change方法,并将标签更改为正确的语言。但是现在我无法访问Language.cs中的任何标签,即使它们是公共的,而且我的Language.cs文件也无法从ucSettings.cs获取Resourcemanager和CultureInfo。所以我的问题是,wat是处理这个问题的最好方法?我尝试使用get/set方法,但根本没有成功,现在我不确定这是否是因为我把事情搞砸了
编辑:我是这样做的:
ucSettings.cs
private void Settings_Save_Btn_Click(object sender, EventArgs e)
{
Settings_Language_Cbox.SelectedIndex = LanguageSelection;
BusinessClasses.Language language = new BusinessClasses.Language();
language.setLanguage();
}
Language.cs:
public class Language
{
public MainForm mainform;
public ucAnimalInfo animalinfo;
public ucAnimalInput animalinput;
public ucSettings settings;
public void setLanguage()
{
mainform.Animal_Info_Tab.Info_Id_Text.Text = mainform.Settings_Tab.rs.GetString("Info_Save_Btn", mainform.Settings_Tab.ci);
}
它仍然会给出一个NullReferenceException,因此它实际上不起作用,但这是我迄今为止得到的最接近的一个。rs和ci是resourcemanager和cultureinfo你的问题不是很清楚,你说的是用户控制器,但意思是什么?用户控制 由于您是Windows Mobile/Compact Framework的新手,您应该首先从一个简单的项目开始,然后使用小步骤逐步发展到您想要的 语言资源本地化的一个良好开端可能是。 使用它,然后通过简单的用户控件进行扩展,等等 然后还可以阅读关于“在飞行中”改变语言的内容
如果您需要进一步的帮助,请提供您的想法/需要(我想允许这一点并表明这一点)。我一定会阅读这些文章的,谢谢,我还编辑了我的帖子,试图更好地解释它。