امروز یک نفر در گروه کامپیوتر جنوب در یاهو پرسیده بود که چجوری می شه در ComboBox در VB.NET به غیر از Text مقدارهای دیگری هم برای یک آیتم نوشت . مثل ASP.NET که برای DropDownList هاش می شه یک Text نوشت و یک Value . راه حلی که من بلدم این است . چون آیتم های Combobox می تواند یک Object باشد لذا هر چیزی که تابع ToString را Override بکند می تواند در آن قرار بگیرد (اگر tostring نداشته باشد درون ComboBox تایپ ِ آن را می نویسد ) . مثلا ً کلاس زیر دارای دو property ِ متن و ID است که در تابع ToString مقدار متنی را بر می گرداند .

Public Class ComboItem
    Private mID As Integer
    Private mText As String

    Public Property ID() As Integer
        Get
            Return mID
        End Get
        Set(ByVal Value As Integer)
            mID = Value
        End Set
    End Property
    Public Property Text() As String
        Get
            Return mText
        End Get
        Set(ByVal Value As String)
           mText = Value
        End Set
    End Property

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

 

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For i As Integer = 0 To 9
            Dim x As New ComboItem
            x.ID = i
            x.Text = "salam" & i
            ComboBox1.Items.Add(x)
        Next
    End Sub
'''''''Read data
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim x As ComboItem
        x = ComboBox1.SelectedItem
        MessageBox.Show(x.ID)
    End Sub

در رویداد load ِ فرم هم روش پر کردن Combobox و در Button1_click هم روش خواندن مقدار آن را نوشتم . با این روش می توان به جای یک ID انواع و اقسام مقادیر را به آیتم های combobox نسبت داد .

بدون نظر
نام :   
ايميل :      اين سايت از سيستم گراواتر استفاده می کند ، اگر در گراواتر دارای کد کاربری هستيد می توانيد از آن آدرس ايميل استفاده کنيد.  
وب سايت :   
ديدگاه :   
عدد زير را وارد کنيد :
  


  پيام شما بعد از بازبينی افزوده خواهد شد.