0

WinFormで一連のRadioButtonを作成しようとしています。それは問題なく動作しますが、クリックイベントで製品IDを取得し、それを使って何かをしたいと思います。私はHTML要素に慣れており、RadioButtonのラベルと値にデータを割り当てています。WinFormsでは、value属性に相当するものが表示されません。

製品IDをRadioButtonChange-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コントロール、フォームなどのコンテナー内にラジオボタンを追加することで、ラジオボタンをグループ化することもできます。

フォーム内のグループパネルをドラッグしてからラジオボタンを追加します。これにより、そのグループ内のすべてのラジオボタンがグループ化されます。ここで行うように

于 2013-03-13T17:38:35.037 に答える