【问题标题】:How to Implement a Table with scale within? [closed]如何实现一个内有比例的表格? [关闭]
【发布时间】:2012-12-14 14:42:06
【问题描述】:
我想要一个包含表格的表格。
第一行将描述一个比例。
在表格中的每个单元格中,都会有一个复选框按钮,我可以选择它。 (只能选择一个(验证))
**1** **2** **3**
a)______________checkBoxbttn_____________________ checkBoxbttn____________________ V
b) ____________ checkBoxbttn___________________________ V ___________________ checkBoxbttn
在每一行中只标记一个复选框(验证)后,我需要将每一行的选择保存在一个参数中,以备将来使用。
对于上面的例子: int a = 3; int b = 2;
我该如何实现呢?
验证是什么样子的?
【问题讨论】:
标签:
c#
forms
validation
checkbox
tabular
【解决方案1】:
我建议您使用 TableLayoutPanel 一列和任意数量的行。在每个单元格中,放置一个Panel。在每个面板中,放置三个RadioButton 控件,以确保只选择其中一个。
要知道选择了哪个 RadioButton,您可以遍历每个 Panel 的控件并返回第一个选中的控件。
例子:
private void button1_Click(object sender, EventArgs e)
{
foreach (var row in tableLayoutPanel1.Controls)
{
var panel = row as Panel;
if (panel == null) continue;
var checkedButton =
panel.Controls.OfType<RadioButton>()
.FirstOrDefault(r => r.Checked);
if (checkedButton == null) continue;
//Process your radiobutton here.
}
}
要为 RadioButton 分配特定值,我会创建一个派生自它的类,并使用一个属性表示您的值。
例子:
class ScaleRadioButton : RadioButton
{
public int MyScale { get; set; }
}