TableLayoutPanel中单独的单选按钮组

时间:2015-08-01 12:18:29

标签: c# winforms radio-button tablelayoutpanel

我有一个TableLayoutControl,我用单选按钮动态填充。有四列。我希望第1-3列的单选按钮在每行中形成组,第4列中的单选按钮构成一个组。换句话说,每行中的水平组和最后一列中的一个垂直组。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

我认为,最好的方法是在表格的每个单元格中放入一些灌浆控制(panel,groupBox,flowLayoutPanel,...)并在此组中添加单选按钮。

答案 1 :(得分:0)

假设您知道每个RadioButton的哪一行和一行(就像创建一个名称时rdb2_3意味着它属于TableLayoutControl的第2行第3列),请添加CheckedChanged个事件所有人都喜欢:

    rdb.CheckedChanged += new EventHandler(rdb_CheckedChanged);

    void rdb_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
            // Check if this RadioButton belong to column 4th so it belong to the column group
            if (((RadioButton)sender).Name.Substring(((RadioButton)sender).Name.Length - 1) == "4")
            {
                // Set Checked = false for all RadioButton in column 4 except this one
            }
            else
            {
                // Set Checked = false for all RadioButton in this RadioButton's row 4 except this one
            }
    }