您的位置:首页 > 其它

CheckedListBoxControl 实现复选框的单选与多选功能

2015-04-29 11:40 609 查看
由于工作需要,需要实现复选框的单选与多选功能,找了好多资料都不是很全,经过两天苦苦的挖挖挖,终于完成啦O(∩_∩)O哈哈~

用DEV控件中的CheckedListBoxControl控件,当然VS中的复选框组合控件应该按照下面方法也可以实现该功能,可以试下(⊙o⊙)哦

//记录复选框选中的状态
CheckState csGXB;

//存储复选框选中的值(多选以‘/’区分  )
string strGXB = string.Empty;

//先触发SelectedIndexChanged事件,再触发ItemCheck事件
private void chbGXBlb_SelectedIndexChanged(object sender, EventArgs e)
{
switch (csGXB)
{
case CheckState.Checked:

strGXB = string.Empty;
for (int i = 0; i < chbGXBlb.Items.Count; i++)
{
//获取选中的复选框的值
if (chbGXBlb.GetItemChecked(i))
{
if (strGXB == string.Empty)
{
strGXB = chbGXBlb.GetItemText(i);
}
else
{
strGXB += "/" + chbGXBlb.GetItemText(i);
}
}
}
break;
case CheckState.Unchecked:
strGXB = string.Empty;
for (int i = 0; i < chbGXBlb.Items.Count; i++)
{
if (chbGXBlb.GetItemChecked(i))
{
if (strGXB == string.Empty)
{
strGXB = chbGXBlb.GetItemText(i);
}
else
{
strGXB = strGXB + "/" + chbGXBlb.GetItemText(i);
}
}
}
break;

}

}

private void chbGXBlb_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
{
// e.State,获取当前复选框的选中还是未选中的状态(Checked 或UnChecked)
csGXB = e.State;
chbGXBlb_SelectedIndexChanged(null, null);
}


多选:根据选择改变获取值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: