【发布时间】:2017-06-21 23:40:52
【问题描述】:
我正在使用 Visual C++ 中的 Visual Studio 开发一个 Windows 窗体应用程序。我的表单上有 96 个复选框。与其创建 96 个 Click 事件,我相信有一种方法可以创建一个单击任何复选框时调用的 Click 事件。在 Click 事件中,我需要确定活动复选框是选中还是未选中。虽然这应该很容易,但我似乎无法弄清楚!
我让它与下面的代码一起工作,但我确信有更好的方法。
if (sender == checkBox_D1)
{
if (checkBox_D1->Checked)
isChecked = true;
}
else if (sender == checkBox_D2)
{
if (checkBox_D2->Checked)
isChecked = true;
}
else
return; // Invalid sender - should not get here!
if (isChecked)
{
// Do something
}
else
{
// Do something else
}
我也尝试了下面的代码,但 activeCheckBox 不是 Checkbox 对象,所以它不起作用。
Control^ activeCheckBox = ActiveControl;
activeCheckBox->Text返回Checkbox的Text属性
activeCheckBox->Checked 无法编译。错误是“已检查”:不是“System::Windows::Forms::Control”的成员
好像发件人有我需要的数据,但我不知道如何访问它。
有没有办法如下声明一个复选框?
复选框活动框;
然后将activeBox赋给有焦点的Checkbox 主动框 = ???
// Then just need to do this!
if (activeBox.Checked)
isChecked = true;
感谢您的帮助。
【问题讨论】:
标签: winforms visual-c++ checkbox focus