问题描述
privatevoidcheckedListBox1_MouseHover(objectsender,EventArgse){switch(checkedListBox1.GetItemChecked(0)){case0:this.label7.Text="选中后将执行第一算法";break;case1:this.label7.Text="选中后将执行第二算法";break;}}为啥报错啊错误1常量值“0”无法转换为“bool”错误2常量值“1”无法转换为“bool”我在checkedListBox1上,明明填了2项啊
解决方案
解决方案二:
checkedListBox1.GetItemChecked(0)返回的是bool型,你下面分支肯定要用true或false0,1这种用法好像C++才可以的
解决方案三:
引用1楼wfy4422的回复:
checkedListBox1.GetItemChecked(0)返回的是bool型,你下面分支肯定要用true或false0,1这种用法好像C++才可以的
那肿么办呢?我想鼠标移动到第一项label1就显示相对应的文字,移动到第二项显示出另一组相对应的文字
解决方案四:
casefalse:this.label7.Text="选中后将执行第一算法";break;casetrue:this.label7.Text="选中后将执行第二算法";break;是不是这样
解决方案五:
引用3楼p352180779的回复:
casefalse:this.label7.Text="选中后将执行第一算法";break;casetrue:this.label7.Text="选中后将执行第二算法";break;是不是这样
不是啊,是不是我用的属性有问题?我想鼠标移动到第一项label1就显示相对应的文字,移动到第二项显示出另一组相对应的文字。是不是不应该用checkedListBox1.GetItemChecked
解决方案六:
lz的实现逻辑有问题,使用了MouseHover事件,又获取当前选中项。到底使用哪种方式呢?而且GetItemChecked返回值是bool,没法和0、1直接进行比较
解决方案七:
checkedListBox1.GetItemChecked(0)表示判断第0项是否选中,返回的是true或false你好歹得把0替换成你鼠标悬浮的那一项,而不是不管鼠标悬浮在哪里都去判断第0项啊