我在下面写了一个带有复选框的程序。哪个工作正常。但是我想把它写在一个checklistbox中,但不知道如何检查第一个checklistbox被检查或第二个。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (checkBox1.Checked)
MessageBox.Show("CheckBox1 is checked");
if (checkBox2.Checked)
MessageBox.Show("CheckBox2 is checked");
}
}
}
编辑:它是一个Windows窗体应用程序。
答案 0 :(得分:2)
试试这个:
foreach (var item in checkedListBox1.CheckedItems)
{
/* iterate over all checked items from the checkedlistbox */
MessageBox.Show(item.ToString());
}
编辑:如果您想根据所选项目执行某些操作 试试这个:
foreach (int item in checkedListBox1.CheckedIndices)
{
switch (item)
{
case 0:/*first item selected here do something*/
MessageBox.Show("1st item selected");
break;
case 1:/*first item selected here do something*/
MessageBox.Show("2nd item selected");
break;
case 2:/*first item selected here do something*/
MessageBox.Show("3rd item selected");
break;
}
}
<强>解释强>
来自MSDN:CheckedListBox.CheckedIndices Property
此CheckedListBox中已检查索引的集合。
已检查索引的集合是索引的子集 CheckedListBox控件中所有项的集合
SelectedIndices
会返回selectedindex
中的Checkedlistbox
值。
例如,如果checkedlistbox
中有10个项目,如果选择项目1,项目5和项目7,则它将返回各自的index
值(索引始终以0开头)。
所以它返回0,4,6。