在 C# 中,单选按钮(RadioButton)是 Windows Forms 或 WPF 应用程序中常用的控件,用于让用户在多个选项中选择一个。保存和加载单选按钮的值是常见的需求,通常涉及以下概念:
// 保存单选按钮状态到配置文件
private void SaveRadioButtonState()
{
Properties.Settings.Default.RadioButton1Checked = radioButton1.Checked;
Properties.Settings.Default.RadioButton2Checked = radioButton2.Checked;
Properties.Settings.Default.Save();
}
// 从配置文件加载单选按钮状态
private void LoadRadioButtonState()
{
radioButton1.Checked = Properties.Settings.Default.RadioButton1Checked;
radioButton2.Checked = Properties.Settings.Default.RadioButton2Checked;
}
// 在窗体加载和关闭时调用
private void Form1_Load(object sender, EventArgs e)
{
LoadRadioButtonState();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
SaveRadioButtonState();
}
// 使用应用程序设置保存状态
private void SaveRadioButtonState()
{
Properties.Settings.Default["Option1"] = radioButton1.IsChecked;
Properties.Settings.Default["Option2"] = radioButton2.IsChecked;
Properties.Settings.Default.Save();
}
// 加载状态
private void LoadRadioButtonState()
{
radioButton1.IsChecked = (bool?)Properties.Settings.Default["Option1"];
radioButton2.IsChecked = (bool?)Properties.Settings.Default["Option2"];
}
// 在窗口加载和关闭时调用
private void Window_Loaded(object sender, RoutedEventArgs e)
{
LoadRadioButtonState();
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
SaveRadioButtonState();
}
using System.Xml.Serialization;
using System.IO;
public class AppSettings
{
public bool RadioButton1Checked { get; set; }
public bool RadioButton2Checked { get; set; }
}
// 保存到文件
private void SaveSettings()
{
AppSettings settings = new AppSettings
{
RadioButton1Checked = radioButton1.Checked,
RadioButton2Checked = radioButton2.Checked
};
XmlSerializer serializer = new XmlSerializer(typeof(AppSettings));
using (TextWriter writer = new StreamWriter("settings.xml"))
{
serializer.Serialize(writer, settings);
}
}
// 从文件加载
private void LoadSettings()
{
if (File.Exists("settings.xml"))
{
XmlSerializer serializer = new XmlSerializer(typeof(AppSettings));
using (TextReader reader = new StreamReader("settings.xml"))
{
AppSettings settings = (AppSettings)serializer.Deserialize(reader);
radioButton1.Checked = settings.RadioButton1Checked;
radioButton2.Checked = settings.RadioButton2Checked;
}
}
}
通过以上方法,您应该能够解决C#中单选按钮值保存和加载不起作用的问题。
没有搜到相关的文章