簡體   English   中英

如何將getitemdata轉換並將itemdata從vb6組合設置為vb.net組合方法

[英]how to convert getitemdata and set itemdata from vb6 combo to vb.net combo methods

嗨,我們正在將vb6遷移到vb.net。在vb 6中,vb.net不支持組合框方法

VB6.GetItemString(cboEditBox(0), cboEditBox(0).SelectedIndex)
VB6.Format(VB6.GetItemData(cboEditBox(0), cboEditBox(0).SelectedIndex)
VB6.Format(frmTableRate.txtRate.Text, "##0.0####")
VB6.SetItemData(cboEditBox(0), cboEditBox(0).SelectedIndex
CheckUsage(sSQLWhere, VB6.Format(frmTableRate.Tag), sMsg, bUsed) 
VB.Left(VB6.GetItemString(lstRates, lstRates.SelectedIndex)
sTableID = VB6.Format(VB6.GetItemData(cboEditBox(0), cboEditBox(0).SelectedIndex), "000")

這是有關VB.NET中組合框項目如何輕松存儲顯示值和數據值的簡單示例。 要嘗試,只需將此代碼粘貼到一個名為Form1的空窗體上。 它將自行創建控件並連接事件處理程序。

Public Class ComboItem
   Public Property DisplayString As String
   Public Property ItemData As Object
   Public Sub New(DisplayString As String, Optional ItemData As Object = Nothing)
      Me.DisplayString = DisplayString
      Me.ItemData = ItemData
   End Sub
End Class

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
   Dim cboEditBox As New ComboBox
   Controls.Add(cboEditBox)
   Dim comboData As New System.ComponentModel.BindingList(Of ComboItem)
   cboEditBox.DataSource = comboData
   cboEditBox.DisplayMember = "DisplayString"
   cboEditBox.ValueMember = "ItemData"

   comboData.Add(New ComboItem("One"))
   ' Demonstrate setting item data along with creation of the list items
   comboData.Add(New ComboItem("Two", "First duplicate"))
   comboData.Add(New ComboItem("Two", "Second duplicate"))

   ' Demonstrate SetItemData alternative
   DirectCast(cboEditBox.SelectedItem, ComboItem).ItemData = "The first item"
   AddHandler cboEditBox.SelectedIndexChanged, AddressOf cboEditBox_SelectedIndexChanged
End Sub

Private Sub cboEditBox_SelectedIndexChanged(sender As Object, e As EventArgs)
   Dim target As ComboBox = DirectCast(sender, ComboBox)
   ' Demonstrate GetItemData alternative
   MsgBox(target.SelectedValue)
End Sub

注意,通過使用BindingList(而不是數組或常規List),我們確保即使在初始化ComboBox之后,直接從列表中添加或刪除列表中的元素也將反映在組合框中,而無需刷新組合框的DataSource屬性。 如果要手動刷新組合框的DataSource屬性,則可以使用簡單的數組或列表代替。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM