【发布时间】:2018-09-10 14:09:15
【问题描述】:
我对 C# 中的 CheckBox 感到困惑
public formPCRBaseline(List<GetBaselineSectionTasks> m_objPCRCheck)
{
setDefaults(m_objPCRCheck);
}
private void setDefaults(List<GetBaselineSectionTasks> m_objPCRCheck)
{
richTextBoxPCRBaseline.BackColor = Color.White;
foreach (GetBaselineSectionTasks i_objPCRCheck in m_objPCRCheck)
{
richTextBoxPCRBaseline.SelectionIndent = 0;
CheckBox checkBox = new CheckBox();
checkBox.Height = 20;
checkBox.Width = 20;
richTextBoxPCRBaseline.Controls.Add(checkBox);
checkBox.Tag = i_objPCRCheck;
richTextBoxPCRBaseline.SelectionIndent = 30;
richTextBoxPCRBaseline.SelectedText = "Section : '" + i_objPCRCheck.taskname;
richTextBoxPCRBaseline.SelectedText = "\n\n";
}
}
所以这段代码返回给我一个带有一些复选框的对象列表,当我点击确认按钮时我想选中选中的复选框,所以我想做类似的事情:
private void buttonConfirm_Click(object sender, EventArgs e, out List<GetBaselineSectionTasks> m_objCheckeditem)
{
int i = 0;
m_objCheckeditem = new List<GetBaselineSectionTasks>();
foreach (CheckBox i_objCheck in richTextBoxPCRBaseline.Controls)
{
if (i_objCheck.Checked)
{
m_objCheckeditem.Add(i_objCheck.Tag);
MessageBox.Show(i_objCheck.Tag.ToString());
}
i++;
}
}
我得到了这个错误
CS1503 参数 1:无法从 'object' 转换为 'MyApplication.GetBaselineSectionTasks'
它来自这一行:m_objCheckeditem.Add(i_objCheck.Tag);
这是我第一次使用 .Tag 属性,所以我建议它不是那样工作的。
知道如何获取我的托运物品并将其退回吗?
【问题讨论】:
-
有什么问题?无法很好地理解您的问题。
-
这很简单,它不起作用
-
这对我们来说并不容易,因为我们不知道什么是“不工作”,因为我们不查看您的屏幕。任何错误信息?屏幕截图可能吗?
-
这是我的错误信息:CS1503 Argument 1: cannot convert from 'object' to 'MyApplication.GetBaselineSectionTasks' 它来自这一行:m_objCheckeditem.Add(i_objCheck.Tag);