【发布时间】:2016-08-14 00:17:34
【问题描述】:
我正在将 C# 用于 Winforms 应用程序,但我似乎无法在我的 3 组单选按钮上更改回默认/“未选择”颜色。我知道有一种方法不必单独按每个按钮。 foreach 中用于清除选中状态的部分工作正常。这是我尝试过的。
public void ClearForm()
{
foreach (RadioButton radio1 in carbonationGroupBox.Controls.OfType<RadioButton>().ToList())
if (radio1.Checked == true)
{
radio1.ForeColor = Color.Black;
radio1.Checked = false;
}
foreach (RadioButton radio2 in strengthGroupBox.Controls.OfType<RadioButton>().ToList())
if (radio2.Checked == true)
{
radio2.ForeColor = Color.Black;
radio2.Checked = false;
}
foreach (RadioButton radio3 in sweetnessGroupBox.Controls.OfType<RadioButton>().ToList())
if (radio3.Checked == true)
{
radio3.ForeColor = Color.Black;
radio3.Checked = false;
}
以下是其中一个组框中的三个单选按钮的代码,这些按钮会更改开头的颜色。
private void topStrengthHydromel_CheckedChanged(object sender, EventArgs e)
{
topStrengthStandard.ForeColor = Color.Black;
topStrengthSack.ForeColor = Color.Black;
topStrengthHydromel.ForeColor = Color.Lime;
strengthRadionButton = "Hydromel";
}
private void topStrengthStandard_CheckedChanged(object sender, EventArgs e)
{
topStrengthHydromel.ForeColor = Color.Black;
topStrengthSack.ForeColor = Color.Black;
topStrengthStandard.ForeColor = Color.Lime;
strengthRadionButton = "Standard";
}
private void topStrengthSack_CheckedChanged(object sender, EventArgs e)
{
topStrengthHydromel.ForeColor = Color.Black;
topStrengthStandard.ForeColor = Color.Black;
topStrengthSack.ForeColor = Color.Lime;
strengthRadionButton = "Sack";
}
【问题讨论】:
-
你到底想做什么?你如何改变他们的颜色开始?这段代码有什么问题?
-
再来一个
RadioButton怎么样?比如说,将“无”作为其文本 -
@Ian...“无”不能有另一个单选按钮,因为必须从每个组中选择一个单选按钮。
标签: c# winforms visual-studio radio-button