ChecklistBox的使用总结[通俗易懂]

ChecklistBox的使用总结[通俗易懂]前言ChecklistBox看起来一个很简单的控件,使用的时候想要达到理想的效果是需要费一番功夫的,这篇博客对于近一两周来项目中主界面设计用到的ChecklistBox方法做了一点小小的总结。图示常用方法1.添加项checkedListBox1.Items.Add(“吃饭”);checkedListBox1.Items.Add(“睡觉”);checkedListB

大家好,又见面了,我是你们的朋友全栈君。

# 前言
  ChecklistBox看起来一个很简单的控件,使用的时候想要达到理想的效果是需要费一番功夫的,这篇博客对于近一两周来项目中主界面设计用到的ChecklistBox方法做了一点小小的总结。
##图示
这里写图片描述

常用方法

  • 1.添加项
	checkedListBox1.Items.Add("吃饭"); 
	checkedListBox1.Items.Add("睡觉"); 
	checkedListBox1.Items.Add("打豆豆");
  • 2.设置复选框为单选
       private void ChecklistBox_ItemCheck(object sender, ItemCheckEventArgs e)
        {      
            if (ChecklistBox.CheckedItems.Count > 0)
            {
                for (int i = 0; i < ChecklistBox.Items.Count; i++)
                {
                    if (i != e.Index)
                    {
                       ChecklistBox.SetItemChecked(i, false);
                    }
                }
            }   
        }
  • 3.设置整个复选框不可用,置灰
 ChecklistBox.Enabled = false;
  • 4.判断是否有选中的item
	    //4.1 判断是否有选中项
            if (ChecklistBox1.CheckedItems.Count == 0 )
            {
                MessageBox.Show("请先选中要执行的计划");
            }
        //4.2 判断第i项是否选中 ,选中返回true,否则选false
			if(checkedListBox1.GetItemChecked(i))
		{
			 return true;
		} 
		else
		{
			 return false; 
		}
  • 5.设置第i项的选中状态
      //true选中,false为未选中
      checkedListBox1.SetItemChecked(i, true);  
  • 6.得到选中项的值
	 //6.1得到一个选中项的值
	 string strPlan = checkedListBox1.SelectedItem.ToString();
	  
	 //6.2得到所有选中项的值
	 string strCollected = string.Empty;
	 for (int i = 0; i < checkedListBox1.Items.Count; i++)
	 {
		  if (checkedListBox1.GetItemChecked(i))
		  {
			  if (strCollected == string.Empty)
			  {
				   strCollected = checkedListBox1.GetItemText(checkedListBox1.Items[i]);
			  }
			  else
			  {
				   strCollected = strCollected + "/" + checkedListBox1.	GetItemText(checkedListBox1.Items[i]);
			   }
		   }
	}
  • 7.清除复选框中所有item
	for (int i = 0; i < checkedListBox1.Items.Count; i++)
	{
			checkedListBox1.Items.Clear();
	}
  • 8.反向选择复选框中的item
	for (int i = 0; i < checkedListBox1.Items.Count; i++) 
		{ 
			if (checkedListBox1.GetItemChecked(i)) 
		   { 
			   checkedListBox1.SetItemChecked(i, false); 
		   } 
		   else 
		   { 
			   checkedListBox1.SetItemChecked(i, true); 
		   } 
		}	
  • 9.将item从一个复选框转移到另一个复选框
		for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++) 
		{ 
					 checkedListBox2.Items.Add(this.checkedListBox1.CheckedItems);
		 
		  //remove是除去一个具体的值,不是index
			 this.checkedListBox1.Items.Remove(this.checkedListBox1.CheckedItems);       
		}
  • 10.设置选中item置灰,不能重复再选
	            for (int i = 0; i < clbOver.Items.Count; i++)      
            {
                clbOver.GetItemChecked(i);
                clbOver.SetItemCheckState(i, CheckState.Indeterminate);                                
             
            }

总结

 以上是最近一段时间对ChecklistBox实践过程中常用方法的总结,希望能对大家有所帮助。有一点感受是:在使用一个控件之前查看官方文档遍历一遍它的所有属性,方法和事件很有必要,有了这样一层宏观之后可以帮助大家在具体实践过程中少走弯路。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148214.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 超详细的数据分析职业规划

    超详细的数据分析职业规划最近有不少同学向大讲台老师咨询有关数据分析职业发展的问题,由此可见,随着大数据的飞速发展,数据分析职业也成为很多同学关注的目标。不要急,大讲台老师这就给大家介绍数据分析的职业发展。入门和职业规划应该从两个角度考虑:领域和路线。领域是不少新人常忽略的要素,其实数据分析不会脱离业务存在。你进入哪个行业,很大程度会决定你初期的技能树和技能点。譬如金融领域的风控模型、营销领域的生命周期、广告

    2022年5月10日
    43
  • leetcode-150. 逆波兰表达式求值(栈)

    leetcode-150. 逆波兰表达式求值(栈)根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1:输入:tokens = [“2″,”1″,”+”,”3″,”*”]输出:9解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9示例 2:输入:tokens = [“4″,”13″,”5″,”/”,”+”]输

    2022年8月11日
    3
  • phpStudy中升级MySQL版本到5.7.17的方法步骤

    phpStudy中升级MySQL版本到5.7.17的方法步骤

    2021年10月22日
    28
  • asp.net core 关于自增长ID数据保护(IDOR漏洞)[通俗易懂]

    asp.net core 关于自增长ID数据保护(IDOR漏洞)[通俗易懂]开始前先大概的描述下IDOR漏洞是啥。嗯!举个例子,有一个角色下面有N个用户,拥有这个角色的用户都有自身创建的普通用户操作权限(比如删除)。我们一般情况都是通过表主键来操作这条记录的,那么这么一个功能就涉及到两个接口(查询列表,删除指定用户)。嗯!查询列表的接口自然是要带着用户对应的主键的(通过删除接口传入ID),聪明的人应该想到了;此时ID是明文的并且主键我们一般都是自增长的,此时就会出现我们可以通过猜测这个参数进行恶意删除。嗯!此时有些人可能会想(也是几种解决方式):我可以通过对参数进行加密签名来

    2022年5月1日
    57
  • Java 枚举活用

    Java 枚举活用

    2021年8月26日
    52
  • Spark Streaming Join

    Spark Streaming Join多数据源Join思路多数据源Join大致有以下三种思路:数据源端Join,如Android/IOS客户端在上报用户行为数据时就获取并带上用户基础信息。计算引擎上Join,如用SparkStreaming、Flink做Join。结果端Join,如用HBase/ES做Join,Join键做Rowkey/_id,各字段分别写入列簇、列或field。三种思路各有优劣,使用时注意…

    2022年6月30日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号