vb中listbox里选项上移与下移的问题

PrivateSubCommand1_Click()List1.AddItemList1.Text,List1.ListIndex-1List1.RemoveItemLi... Private Sub Command1_Click()
List1.AddItem List1.Text, List1.ListIndex - 1
List1.RemoveItem List1.ListIndex + 1
List1.ListIndex = List1.ListIndex - 1
End Sub
Private Sub Command2_Click()
List1.AddItem List1.Text, List1.ListIndex + 2
List1.RemoveItem List1.ListIndex
List1.ListIndex = List1.ListIndex + 1
为什么command1是上移command2是下移,那个-1+1-1+2+1都不太懂,能否给个详细的解答
展开
 我来答
网海1书生
科技发烧友

推荐于2016-10-04 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

为了说明的方便,假定List1有5项,当前项为第3项(即ListIndex=2):

Private Sub Command1_Click()
List1.AddItem List1.Text, List1.ListIndex - 1  '在第2项的前面插入一个新项,内容与第3项一样
List1.RemoveItem List1.ListIndex + 1  '由于插入新项的关系,原来的第3项变为第4项,这样删除第4项实际上就是删除原来的第3项
List1.ListIndex = List1.ListIndex - 1  '把新插入的第2项(实际上就是原来的第3项)设为当前项
End Sub    '这样的话原来的第3项与第2项就互相换了位置,效果上就是第3项上移一行了
Private Sub Command2_Click()
List1.AddItem List1.Text, List1.ListIndex + 2  '在第5项的前面插入一个新项,内容与第3项一样
List1.RemoveItem List1.ListIndex  '把第3项删除
List1.ListIndex = List1.ListIndex + 1  '由于第3项删除,那么新插入的项就变为第4项,把它设为当前项
End Sub  '这样的话原来的第3项与第4项就互相换了位置,效果上就是第3项下移一行了

 其实还有更简单的方法,就是把当前项的值与上一项(上移)或下一项(下移)的值互相对调,这样可能就更容易理解了:

Private Sub Command1_Click()
If List1.ListIndex > 0 Then  '如果当前项不是第一项(因为第一项就无法再上移了)
    List1.Tag = List1.List(List1.ListIndex)   '把当前项的值临时保存在Tag属性里
    List1.List(List1.ListIndex) = List1.List(List1.ListIndex - 1) '当前项赋值为上一项
    List1.List(List1.ListIndex - 1) = List1.Tag '上一项赋值为当前项
    List1.ListIndex = List1.ListIndex - 1 '设上一项为当前项
End If
End Sub

Private Sub Command2_Click()
If List1.ListIndex < List1.ListCount - 1 Then  '如果当前项不是最后一项(原理同上)
    List1.Tag = List1.List(List1.ListIndex)   '把当前项的值临时保存在Tag属性里
    List1.List(List1.ListIndex) = List1.List(List1.ListIndex + 1) '当前项赋值为下一项
    List1.List(List1.ListIndex - 1) = List1.Tag '下一项赋值为当前项
    List1.ListIndex = List1.ListIndex + 1 '设下一项为当前项
End If
End Sub
匿名用户
2015-05-14
展开全部
病情分析:
怀孕三个月引产后必须清宫的,因为部分胎膜残留在宫腔内,
指导意见:
清宫和人流一样是一种手术方式,清宫比较简单些,当然是有疼痛感的,如果你要求做无痛的,医生会给你静脉静推麻药,当然价格比普通的高些.

病情分析:
清宫当然不会一点痛感都没有的.
指导意见:
一般情况,清宫的是不需要打麻药的,5分钟左右就可以完成的.如果你对疼痛特别敏感,也可以要求注射麻醉药物.

病情分析:
怀孕3个月了做引产,要清宫,会疼么,打麻药么?
指导意见:
是打麻药的,根据情况全麻或局麻,用一支末端有刮匙的细长金属棒伸入子宫腔,刮出子宫内膜.

病情分析:
清宫术类似于人流术,术中会觉得下腹酸痛,大多数人可以忍受.
指导意见:
如果觉得无法忍受酸痛,可选择在静脉麻醉下行清宫术.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-05-14
展开全部
病情分析:
怀孕三个月引产后必须清宫的,因为部分胎膜残留在宫腔内,
指导意见:
清宫和人流一样是一种手术方式,清宫比较简单些,当然是有疼痛感的,如果你要求做无痛的,医生会给你静脉静推麻药,当然价格比普通的高些.

病情分析:
清宫当然不会一点痛感都没有的.
指导意见:
一般情况,清宫的是不需要打麻药的,5分钟左右就可以完成的.如果你对疼痛特别敏感,也可以要求注射麻醉药物.

病情分析:
怀孕3个月了做引产,要清宫,会疼么,打麻药么?
指导意见:
是打麻药的,根据情况全麻或局麻,用一支末端有刮匙的细长金属棒伸入子宫腔,刮出子宫内膜.

病情分析:
清宫术类似于人流术,术中会觉得下腹酸痛,大多数人可以忍受.
指导意见:
如果觉得无法忍受酸痛,可选择在静脉麻醉下行清宫术.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式