winForm checkedListBox使用方法

Posted superfeeling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winForm checkedListBox使用方法相关的知识,希望对你有一定的参考价值。

    public partial class CheckListBoxTest : Form
    {
        public CheckListBoxTest()
        {
            InitializeComponent();
        }

        string connstr = "server=localhost;user id=root;password=****;persistsecurityinfo=True;database=student";
        private void Form1_Load(object sender, EventArgs e)
        {
            using (mysqlConnection conn = new MySqlConnection(connstr))
            {
                MySqlDataAdapter sda = new MySqlDataAdapter("SELECT * FROM dc_commoncourseclass", conn);
                DataTable dt = new DataTable();
                sda.Fill(dt);

                checkedListBox1.DataSource = dt;
                checkedListBox1.ValueMember = "ClassId";
                checkedListBox1.DisplayMember = "ClassName";

                for(int i = 0; i < checkedListBox1.Items.Count;i++)
                {
                    DataRowView dr = checkedListBox1.Items[i] as DataRowView;
                    WriteLine(dr["ClassName"] + "," + dr["ClassId"]);
                    
                    if ((int)dr["ClassId"] == 3)
                    {
                        //两种设置选中值的方法
                        checkedListBox1.SetItemChecked(i, true);
                        checkedListBox1.SetSelected(i, true);
                    }
                }

                listBox1.SelectionMode = SelectionMode.MultiExtended;
                listBox1.DataSource = dt;
                listBox1.ValueMember = "ClassId";
                listBox1.DisplayMember = "ClassName";

            }

            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string strText = string.Empty;
            foreach(var o in checkedListBox1.CheckedItems)
            {
                //获取选定项的文本
                strText += checkedListBox1.GetItemText(o) + ",";

                //通过DataRowView获取值
                DataRowView drv = o as DataRowView;
                WriteLine(drv["ClassId"]);
            }
            WriteLine("选择文本:" + strText);

            //通过遍历选中项索引获取选中项的值
            string strValue = string.Empty;
            foreach (int i in checkedListBox1.CheckedIndices)
            {
                checkedListBox1.SetSelected(i, true);
                strValue += checkedListBox1.SelectedValue + ",";
            }
            WriteLine("选择值:" + strValue);
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            System.Diagnostics.Process.Start("http://www.baidu.com");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            foreach(var o in listBox1.SelectedItems)
            {
                WriteLine(o);
            }
        }
    }

 

以上是关于winForm checkedListBox使用方法的主要内容,如果未能解决你的问题,请参考以下文章

winform checkedlistbox 设置行颜色

WinForms, CheckedListbox 自动列宽

Winform中checklistbox控件的常用方法

Winform中checklistbox控件的常用方法

winform checkedlistbox 把选中项的值附给textbox控件,只限止选中(勾选的)其中6项

C# Winform中 选中DatagridView控件中某行如何将该行某个字段(1,2,3,4,)的值绑定CheckedListBox控件的数