为了账号安全,请及时绑定邮箱和手机立即绑定

如何将复选框对象存储在列表中?

如何将复选框对象存储在列表中?

C#
白猪掌柜的 2022-01-09 17:03:57
我CheckBox在 C# 中挣扎 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:无法从“对象”转换为“MyApplication.GetBaselineSectionTasks”它来自这条线: m_objCheckeditem.Add(i_objCheck.Tag);这是我第一次使用 .Tag 属性,所以我建议它不是那样工作的。知道如何获取我的托运物品并将其退回吗?
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

因为 Tag 属性用于存储任意数据,所以它的类型是System.Object.

您不能将 System.Object 类型的对象添加到GetBaselineSectionTasks. 因此,您只需要将其转换为适当的类型。

m_objCheckeditem.Add(i_objCheck.Tag as MyApplication.GetBaselineSectionTasks);


查看完整回答
反对 回复 2022-01-09
  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信