Я борюсь с 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, поэтому я предлагаю, чтобы оно не работало так.
Есть идеи, как мне получить проверенный товар и вернуть его?