我正在尝试在WinForm上创建一系列RadioButton。它工作正常,但在Click-event中我想捕获产品ID并用它来做。 我习惯于HTML元素,并将数据分配给RadioButton的标签和值。使用WinForms,我看不到与value属性等价的东西。
关于如何将产品ID传递给RadioButton Change-event的任何好建议?
var products = new Business.Products().GetAll();
if (!products.Any())
GrpCategories.Controls.Clear();
int y = 2;
int x = 2;
foreach (var product in products)
{
var btn = new RadioButton();
btn.Width = 100;
btn.Height = 20;
if (y >= GrpCategories.Height - btn.Height - 10)
{
x += btn.Width + 2;
y = 2;
}
y += btn.Height + 2;
btn.Appearance = Appearance.Button;
btn.Text = product.Name;
btn.Name = "BtnProduct_" + product.ID;
btn.Location = new Point(x, y);
GrpCategories.Controls.Add(btn);
}
答案 0 :(得分:5)
只需使用RadioButton
的{{3}}即可。此属性可以存储任何.NET对象。
答案 1 :(得分:0)
在winform中没有像RadioButtonList控件那样的东西,否则就会解决你的问题。
但是,您也可以通过在容器(如Panel控件,GroupBox控件或表单)中添加单选按钮来对其进行分组。
在表单中拖动一个组面板,然后添加单选按钮,这将对该组中的所有单选按钮进行分组.. as is done here。