WinForms中是否有HTML-RadioButton值等效?

时间:2013-03-13 17:27:57

标签: c# winforms radio-button

我正在尝试在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);
}

2 个答案:

答案 0 :(得分:5)

只需使用RadioButton的{​​{3}}即可。此属性可以存储任何.NET对象。

答案 1 :(得分:0)

在winform中没有像RadioButtonList控件那样的东西,否则就会解决你的问题。

但是,您也可以通过在容器(如Panel控件,GroupBox控件或表单)中添加单选按钮来对其进行分组。

在表单中拖动一个组面板,然后添加单选按钮,这将对该组中的所有单选按钮进行分组.. as is done here