小弟近来需要做一个功能:可以删除指定的treeView节点和combobox节点。目前所用的方法是,对treeView先用selecteditem获得节点的index,再用remove;本来想用一个node变量指向节点,再直接删除发现做不到
而combobox则是需要比对item的text才行,还想不到其他办法。
对于此二者,不知各位有更好的建议吗?VB COMBOBOX TREEVIEW

解决方案 »

  1.   

    combobox的没啥好说的,treeview的给你写了段示例
    Option Explicit
    Private Sub Form_Load()
        Call InitTreeView
    End Sub
    Private Sub InitTreeView()
        Dim node As node
        TreeView1.LineStyle = tvwRootLines
        
        Set node = TreeView1.Nodes.Add(, , "root", "中国")
        Set node = TreeView1.Nodes.Add(node, tvwChild, "hunan", "湖南")
    End Sub'---------------------------------------------------------------------------------------
    ' 过程名    : cmdRemove_Click
    ' 时间      : 2013/2/23
    ' 作者      : 杨过.网狐.cn(csdn bcrun)
    ' 功能      :
    ' 说明      :
    ' 备注      : 星辰设计室VB一群:283362041,星辰学园BASIC辅导群:289219875
    '---------------------------------------------------------------------------------------Private Sub cmdRemove_Click()
        'TreeView1.Nodes.Remove ("hunan")   '通过key删除,推荐
        TreeView1.Nodes.Remove (2)   '通过index删除
    End Sub
      

  2.   

    没有,VB有很多脑残的设计,ComboBox只能循环对比——ComboBox的脑残之处很多,比如,它有个Change事件,很多初学者被它迷惑,因为正常思维的人都认为,Combo选项改变应该触发Change事件,而点击Combo应该触发Click事件,但是事实上后者才是选择改变,而前者是指它内置的文本框的文本改变。一套不好的API就是这样,它很不统一,需要你花很多时间去学习,因为每个都不一样。好的API应该有很高的一致性,并且符合隐喻,让你很容易上手。