One Piece

WinForm控件之【CheckedListBox】

基本介绍

复选框列表控件,以复选框的形式将一个或多个项列表展示,从目前的情况来看应用非常有限并不广泛。

常设置属性、事件

CheckOnClick:值为true时单击项即可更改项的勾选状态,值为false时第一次单击项为选中项、第二次单击项更改项的勾选状态;

ColumnWidth:当属性MultiColumn为true时可设置项在控件中的显示宽度,内容超出部分不显示;

HorizontalScrollbar:当值为true时任一项内容超出控件右边缘将显示水平滚动条;

Enabled:指示是否启用该控件,true为启用状态用户可单击控件触发事件,false为禁用状态呈现浅灰状态用户无法单击控件触发事件;

Item:列表框中的项集合;

Name:指示代码中用来标识该对象的名称;

SelectionMode:列表框中的项用户是否可以选择更改项状态,None时不可勾选,One时可勾选,其他选项不可用;

SelectedIndexChanged事件:列表选中项更改时发生;

 

事例举例

 

 

        //添加列表项,勾选指定条件的项
        private void btn_AddItem_Click(object sender, EventArgs e)
        {
            string value = txt_ItemText.Text;
            if (!string.IsNullOrWhiteSpace(value))
            {
                if (!this.checkedListBox1.Items.Contains(value))
                {
                    bool isRn = value.Contains("") ? true : false;
                    this.checkedListBox1.Items.Add(value, isRn);

                    checkedListBox1_SelectedIndexChanged(null, null);
                }

            }
        }
        //获取勾选项并展示
        private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            StringBuilder sb = new StringBuilder();
            for (int i = 0, counti = checkedListBox1.Items.Count; i < counti; i++)
            {
                if (checkedListBox1.GetItemChecked(i))
                {
                    sb.AppendFormat("{0},", checkedListBox1.GetItemText(checkedListBox1.Items[i]));
                }
            }
            this.txt_Result.Text = sb.ToString().Trim(',');
        } 

根据需求该控件还可代码设置勾选项最大数据等逻辑,因为控件应用并不广泛就不一一例举了,如有需要可留言咨询探讨!

posted @ 2019-07-03 16:26  BoneMan  阅读(1203)  评论(0编辑  收藏  举报