有人可以帮助我解决以下问题。 当我按下按钮时,我需要检查面板中选中的复选框。 默认情况下,将选中所有复选框。我的想法是有一个向量,我存储了选中的复选框的订单号。 面板中的dinamic输入复选框代码为:
for each (FileInfo^ f in info->GetFiles())
{
for (int i = 0; i < validExtensions->Length; i++)
{
if (f->Extension->ToString()->ToLower() == validExtensions[i]->ToLower())
{
PictureBox^ pb = gcnew PictureBox();
CheckBox^ cb = gcnew CheckBox();
pb->Name = "ImagePB" + countPB;
cb->Name = "CheckBox" + countCB;
pb->Cursor = Cursors::Hand;
pb->Parent = panel1;
pb->Size = System::Drawing::Size(130, 130);
cb->Parent = panel1;
pb->SizeMode = PictureBoxSizeMode::StretchImage;
pb->Location = Point(positionX + 10, positionY);
cb->Location = Point(positionX + 70, positionY + 130);
pb->Image = Image::FromFile(f->FullName);
pb->Image->Tag = f->FullName;
pb->Click += gcnew System::EventHandler(this, &Forma1::pb_Click);
positionX += 141;
if (positionX >= 770)
{
positionY += 154;
positionX = 0;
}
countPB += 1;
countCB += 1;
cb->Checked = true;
}
}
}
答案 0 :(得分:0)
目前还不是很清楚一切是如何构建的,因此可能会关闭,但您可以在创建/删除它们时维护所有复选框的动态列表。然后在需要时迭代它们。
List<CheckBox^>^ checkboxes = gcnew List<Checkbox^>();
...
checkboxes->Add(gcnew CheckBox());
...
for each (Checkbox^ checkbox in checkboxes)
{
if (checbox->Checked)
DoSomething();
}