06-Shift键实现复选框多选

1、界面设置

在这里插入图片描述

2、代码实现

	    //判断shift键操作
        bool isShiftDown = false;
        private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.ShiftKey)
            {
                isShiftDown = false;
            }
        }
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.ShiftKey)
            {
                isShiftDown = true;
            }
        }
        /// <summary>
        /// 根据快捷键选择多个Item
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (isShiftDown && e.NewValue == CheckState.Checked)
            {
                var items = checkedListBox1.CheckedItems;
                var firstCheckItem = items.Count > 0 ? items[0] : null;
                if (firstCheckItem != null)
                {
                    //第一次选中的item
                    int index = checkedListBox1.Items.IndexOf(firstCheckItem);
                    //最后选择的item
                    int nowIndex = e.Index;
                    int i, j;
                    if (index < nowIndex)
                    {
                        i = index;
                        j = nowIndex;
                    }
                    else
                    {
                        i = nowIndex;
                        j = index;
                    }
                    checkedListBox1.ItemCheck -= checkedListBox1_ItemCheck;
                    for (int m = i; m < j; m++)
                    {
                        checkedListBox1.SetItemCheckState(m, CheckState.Checked);
                    }
                    checkedListBox1.ItemCheck += checkedListBox1_ItemCheck;
                }
            }
        }
        /// <summary>
        /// 全选
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < this.checkedListBox1.Items.Count; i++)
            {
                checkedListBox1.SetItemCheckState(i, CheckState.Checked);
            }
        }
        
        /// <summary>
        /// 取消全选
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < this.checkedListBox1.Items.Count; i++)
            {
                checkedListBox1.SetItemCheckState(i, CheckState.Unchecked);
            }
        }

        /// <summary>
        /// 反选
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < checkedListBox1.Items.Count; i++)
            {
                if (checkedListBox1.GetItemChecked(i))
                {
                    checkedListBox1.SetItemCheckState(i, CheckState.Unchecked);
                }
                else
                {
                    checkedListBox1.SetItemCheckState(i, CheckState.Checked);
                }
            }
        }
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是一个HTML下拉复选框的例子: ```html <select multiple> <option value="option1">选项1</option> <option value="option2">选项2</option> <option value="option3">选项3</option> <option value="option4">选项4</option> <option value="option5">选项5</option> </select> ``` 这段代码创建了一个下拉复选框。使用`<select>`标签来定义下拉复选框,添加`multiple`属性可以让用户选择多个选项。在`<select>`标签中添加`<option>`标签来定义选项。每个`<option>`标签都有一个`value`属性来指定选项的值,以便后台处理。在`<option>`标签中添加文本作为选项的显示内容。 用户可以按住CtrlShift并单击来选择多个选项。选择的选项会被以相应的值发送到服务器端进行处理。 如果要对选项进行预先选择,可以在`<option>`标签中添加`selected`属性,例如:`<option value="option1" selected>选项1</option>`。 这只是一个简单的例子,实际应用中可根据需求进行更复杂的设计和功能扩展,例如添加样式、绑定事件等。可以通过CSS样式来美化下拉复选框,也可以使用JavaScript重新设计其功能和行为。 ### 回答2: HTML下拉复选框是一种表单元素,它允许用户在给定的选项中进行多选。下面是一个示例的HTML代码,用于创建一个下拉复选框: <select multiple> <option value="option1">选项1</option> <option value="option2">选项2</option> <option value="option3">选项3</option> </select> 在这个代码中,`<select>`元素用于创建下拉复选框。`multiple`属性被添加到`<select>`元素中,以允许用户选择多个选项。每个选项由`<option>`元素定义,其中`value`属性指定选项的值,用于提交表单数据。在`<option>`元素内部,可以添加文本内容,用于显示给用户。 用户可以通过按住Ctrl(在Windows系统中)或Command(在Mac系统中)来选择多个选项。所选选项将以选中的状态呈现给用户。通过表单提交,我们可以获取到用户所选择的所有选项的值。 需要注意的是,这只是一个基本的示例,你可以根据自己的需求自定义选项内容和显示样式。为了增加用户体验,可以使用CSS样式对下拉复选框进行美化。可以使用JavaScript来增加一些行为,例如根据用户的选择显示或隐藏其他元素。 总而言之,HTML下拉复选框是一种很实用的表单元素,可以满足用户在给定选项中选择多个选项的需求。 ### 回答3: HTML下拉复选框是一种常用的用户界面元素,它允许用户从下拉列表中选择一个或多个选项。下面是一个简单的HTML下拉复选框的代码示例: ```html <select multiple> <option value="option1">选项1</option> <option value="option2">选项2</option> <option value="option3">选项3</option> <option value="option4">选项4</option> </select> ``` 在上面的代码中,`<select>`标签表示下拉复选框,`multiple`属性表示允许选择多个选项。每个选项都使用`<option>`标签来定义,在`value`属性中指定选项的值,显示在选项旁边的文本在`<option>`标签的起始和结束标签之间。 使用这个HTML下拉复选框代码,用户可以单击并选择一个或多个选项,按住Ctrl(Windows)或Command(Mac)选择多个选项。可以通过设置`selected`属性来预先选择一些选项,只需在对应的`<option>`标签上设置`selected`属性即可。 带有下拉复选框的HTML表单可以用于收集多个选项的用户选择,例如用户可以选择多个兴趣爱好、多个商品等。收集到的用户选择数据可以通过后端编程语言来处理和存储。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值