vb.net学习总结三(DropDownList 中 添加 StringIntObject 对象的原理)
  QxmEyLhwiEt2 2023年11月02日 32 0


ComboBox控件是组合框控件。如果将 其 DropDownStyle 设置成 DropDownList 那么它就变成了下拉列表框。下拉列表的每一个项,一般包括两个部分:

text   和  data

text 就是我们看到的列表中的显示数据,data 就是包含在列表中,但是我们看不到的东东。

比如有一个列表是选择 省份 ,虽然我们看到的是 吉林 辽宁 ……

但是我们在程序中一般会读取他的data,也就是省份的代码。

但是我们不能直接 为 list 分别赋 text 和 data 的值。

为了解决这个问题我们需要定义一个类。这个类包括两个成员,分别 代表 text 和 data

类如下:

' 
  '' <summary> 
  
' 
  ''  此类定义 DropDownList 控件中的对象。 
  
' 
  '' </summary> 
  
' 
  '' <remarks></remarks> 
  
 
  Friend 
    
  Class StringIntObject 
  Class StringIntObject
    Public s As String
    Public i As Integer

    Public Sub New()Sub New(ByVal sz As String, ByVal n As Integer)
        s = sz
        i = n
    End Sub

    Public Overrides Function ToString()Function ToString() As String
        Return s
    End Function
End Class

请注意其重写了 ToString 方法,为什么要重写他呢?因为当我们将一个StringIntObject 对象 放到 列表框中后,他会把 ToString 的结果显示出来。我们便 重写 ToString 方法,让其返回我们想显示在界面上的信息。 

向列表中添加一个项的方法如下:

 

'   lsbUserList 为一个 DropDownList 控件  
  
   Dim 
   uItem  
  As 
   StringIntObject
 uItem    = 
    
  New 
   StringIntObject( 
  " 
  吉林省 
  " 
  ,  
  1 
  )
lsbUserList.Items.Add(uItem)
 uItem    = 
    
  New 
   StringIntObject( 
  " 
  辽宁省 
  " 
  ,  
  2 
  )
lsbUserList.Items.Add(uItem)
 uItem    = 
    
  New 
   StringIntObject( 
  " 
  广东省 
  " 
  ,  
  3 
  )
lsbUserList.Items.Add(uItem) 
 
获得用户选择项的方法:
 
 
   
Dim    i    As 
    
  Integer 
   
i   =   CType 
  (lsbUserList.SelectedItem, StringIntObject).i
   dim    s  
  as 
    
  integer 
  
s   =   CType 
  (lsbUserList.SelectedItem, StringIntObject).s

本文作者:northsnow(塞北的雪)

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
QxmEyLhwiEt2
最新推荐 更多

2024-05-17