检查面板中选中了哪个复选框
check which checkbox is checked in panel
有人可以帮我解决以下问题吗?
当我按下按钮时,我需要检查面板中选中了哪个复选框。
默认情况下,所有复选框都被选中。我的想法是有一个向量,我存储选中的复选框的订单号。
面板中动态输入复选框的代码是:
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;
}
}
}
还不太清楚所有内容的结构,所以这可能会被关闭,但是当您 create/delete 时,您可以维护所有复选框的动态列表。然后在需要时迭代它们。
List<CheckBox^>^ checkboxes = gcnew List<Checkbox^>();
...
checkboxes->Add(gcnew CheckBox());
...
for each (Checkbox^ checkbox in checkboxes)
{
if (checbox->Checked)
DoSomething();
}
有人可以帮我解决以下问题吗? 当我按下按钮时,我需要检查面板中选中了哪个复选框。 默认情况下,所有复选框都被选中。我的想法是有一个向量,我存储选中的复选框的订单号。 面板中动态输入复选框的代码是:
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;
}
}
}
还不太清楚所有内容的结构,所以这可能会被关闭,但是当您 create/delete 时,您可以维护所有复选框的动态列表。然后在需要时迭代它们。
List<CheckBox^>^ checkboxes = gcnew List<Checkbox^>();
...
checkboxes->Add(gcnew CheckBox());
...
for each (Checkbox^ checkbox in checkboxes)
{
if (checbox->Checked)
DoSomething();
}