0

我正在尝试在 WinForm 上创建一系列 RadioButtons。它工作正常,但在点击事件中,我想捕获产品 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);
}
4

2 回答 2

5

只需Tag使用RadioButton. _ 此属性可以存储任何 .NET 对象。

于 2013-03-13T17:31:44.003 回答
0

winform 中没有像 RadioButtonList 控件这样的东西,否则它可以解决你的问题。

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

Drag a group panel inside your form and then add your radio buttons, this will group all the radio buttons inside that group.. as is done here.

于 2013-03-13T17:38:35.037 回答