如何让 visual studio 中的表单记住 C# 中 5 个按钮中最后检查的 ReadioButtom?
How can I make my form in visual studio to remember the last checked ReadioButtom among 5 buttoms in C#?
所以我有一个我认为是非常基本的问题,但我不知道该怎么做。所以我正在使用 C# 在 visual studio 中为游戏制作启动器,其中用户必须按 5 个中的一个 RadioButtom 到 select 一种语言。
按钮只是将一些字符放入字符串变量 x。
它默认为英语,但如果某人 select 是西班牙语,我希望当表单第二次打开时表单中的 RadioButtom 为西班牙语,因为西班牙语是最后一个 selected,但每次打开表单时,它都会返回到默认的英文按钮。
if (rbEnglish.IsChecked == true)
x = "eng";
if (rbSpanish.IsChecked == true)
x = "spa";
if (rbItalian.IsChecked == true)
x = "ita";
if (rbGerman.IsChecked == true)
x = "ger";
if (rbFrench.IsChecked == true)
x = "fre";
这只是一个按钮,它读取 x 中的字符串以使用 selected RadioButtom 语言开始游戏。我想做到这一点,这样人们就不必每次都select他们喜欢的语言,这样他们就可以按下按钮。
如果希望表单中的单选按钮在最后选中的按钮上,可以参考以下步骤:
首先创建一个名为 Language:
的枚举
public enum Language
{
eng,
spa,
ita,
ger,
fre
}
Setting.settings 文件上的第二个 double-click 并将语言设置为 int。
最后可以参考这段代码:
public partial class Form1 : Form
{
public string x;
public Form1()
{
InitializeComponent();
if (Settings.Default.Language == (int)Language.eng)
rbEnglish.Checked = true;
if (Settings.Default.Language == (int)Language.spa)
rbSpanish.Checked = true;
if (Settings.Default.Language == (int)Language.ita)
rbItalian.Checked = true;
if (Settings.Default.Language == (int)Language.ger)
rbGerman.Checked = true;
if (Settings.Default.Language == (int)Language.fre)
rbFrench.Checked = true;
}
public enum Language
{
eng,
spa,
ita,
ger,
fre
}
private void button1_Click(object sender, EventArgs e)
{
if (rbEnglish.Checked)
{
Settings.Default.Language = (int)Language.eng;
x = Language.eng.ToString();
}
if (rbSpanish.Checked)
{
Settings.Default.Language = (int)Language.spa;
x = Language.spa.ToString();
}
if (rbItalian.Checked)
{
Settings.Default.Language = (int)Language.ita;
x = Language.ita.ToString();
}
if (rbGerman.Checked)
{
Settings.Default.Language = (int)Language.ger;
x = Language.ger.ToString();
}
if (rbFrench.Checked)
{
Settings.Default.Language = (int)Language.fre;
x = Language.fre.ToString();
}
textBox1.Text = x;
Settings.Default.Save();
}
}
这是测试结果
所以我有一个我认为是非常基本的问题,但我不知道该怎么做。所以我正在使用 C# 在 visual studio 中为游戏制作启动器,其中用户必须按 5 个中的一个 RadioButtom 到 select 一种语言。
按钮只是将一些字符放入字符串变量 x。
它默认为英语,但如果某人 select 是西班牙语,我希望当表单第二次打开时表单中的 RadioButtom 为西班牙语,因为西班牙语是最后一个 selected,但每次打开表单时,它都会返回到默认的英文按钮。
if (rbEnglish.IsChecked == true)
x = "eng";
if (rbSpanish.IsChecked == true)
x = "spa";
if (rbItalian.IsChecked == true)
x = "ita";
if (rbGerman.IsChecked == true)
x = "ger";
if (rbFrench.IsChecked == true)
x = "fre";
这只是一个按钮,它读取 x 中的字符串以使用 selected RadioButtom 语言开始游戏。我想做到这一点,这样人们就不必每次都select他们喜欢的语言,这样他们就可以按下按钮。
如果希望表单中的单选按钮在最后选中的按钮上,可以参考以下步骤: 首先创建一个名为 Language:
的枚举public enum Language
{
eng,
spa,
ita,
ger,
fre
}
Setting.settings 文件上的第二个 double-click 并将语言设置为 int。
最后可以参考这段代码:
public partial class Form1 : Form
{
public string x;
public Form1()
{
InitializeComponent();
if (Settings.Default.Language == (int)Language.eng)
rbEnglish.Checked = true;
if (Settings.Default.Language == (int)Language.spa)
rbSpanish.Checked = true;
if (Settings.Default.Language == (int)Language.ita)
rbItalian.Checked = true;
if (Settings.Default.Language == (int)Language.ger)
rbGerman.Checked = true;
if (Settings.Default.Language == (int)Language.fre)
rbFrench.Checked = true;
}
public enum Language
{
eng,
spa,
ita,
ger,
fre
}
private void button1_Click(object sender, EventArgs e)
{
if (rbEnglish.Checked)
{
Settings.Default.Language = (int)Language.eng;
x = Language.eng.ToString();
}
if (rbSpanish.Checked)
{
Settings.Default.Language = (int)Language.spa;
x = Language.spa.ToString();
}
if (rbItalian.Checked)
{
Settings.Default.Language = (int)Language.ita;
x = Language.ita.ToString();
}
if (rbGerman.Checked)
{
Settings.Default.Language = (int)Language.ger;
x = Language.ger.ToString();
}
if (rbFrench.Checked)
{
Settings.Default.Language = (int)Language.fre;
x = Language.fre.ToString();
}
textBox1.Text = x;
Settings.Default.Save();
}
}
这是测试结果