我需要根据动态列表动态创建单选按钮.场景就像我在WinForm中显示为单选按钮的文件列表.用户单击单选按钮以选择文件并向前移动.我尝试过以下作为例子
for (int i = 0; i < 10; i++)
{
ii = new RadioButton();
ii.Text = i.ToString();
ii.Location = new Point(20, tt);
tt = tt + 20;
panel1.Controls.Add(ii);
}
Run Code Online (Sandbox Code Playgroud)
问题是我如何检查用户选择了哪个值?
Iai*_*ard 10
一种简单的方法是使用RadioButtons CheckChanged事件设置一个变量,该变量通过使用您可以设置为文件本身的RadioButtons文本或Tag属性来指定他们选择的文件?
例如
private File f = null;
for (int i = 0; i < 10; i++)
{
ii = new RadioButton();
ii.Text = i.ToString();
ii.Location = new Point(20, tt);
ii.Tag = fileArray[i]; // Assuming you have your files in an array or similar
ii.CheckedChanged += new System.EventHandler(this.Radio_CheckedChanged);
tt = tt + 20;
panel1.Controls.Add(ii);
}
private void Radio_CheckedChanged(object sender, EventArgs e)
{
RadioButton r = (RadioButton)sender;
f = (File)r.Tag;
}
Run Code Online (Sandbox Code Playgroud)
它当然不是最优雅的方式,但它会起作用.