Solved

How do I bind an array to a listbox?

Posted on 2004-10-01
3
1,281 Views
Last Modified: 2008-03-24
Greetings Experts...

Disclaimer: Newbie

I've been playing around with writing my own classes and have actually been fairly successful. That being said. I'm trying to use an array as a property in a class. I don't know how to bind the array to a listbox, I don't even know if I declared the array correctly.

Here's the code in the class

    Dim lweekstr As Array = Array.CreateInstance(GetType(Object), 53)
    Public Property weekstr() As Array
        Get
            Return lweekstr
        End Get
        Set(ByVal Value As Array)
            lweekstr = Value
        End Set
    End Property

Here's the code in the class that instantiates the above:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim f As New ClassLibrary1.CalendarClass
        f.Year = 2004
        f.test() 'this method populates the array
        Me.ListBox1.DataSource = f.weekstr
        '---- this code tests to see if there is something in the array(there is)
        Dim c As Integer
        For c = 1 To 10
            MsgBox(f.weekstr(c))
        Next
    End Sub

Thanks in advance for your help
 
0
Comment
Question by:KenDickinson
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 12202846
If you are trying to store an Integer into an Object array, there is a performance hit from converting a value type (Integer) into an object type to store in the array (this is called boxing).  Use a type-specific declaration instead:

Dim lWeekStr As Integer()

Bob
0
 
LVL 8

Accepted Solution

by:
bramsquad earned 500 total points
ID: 12202942
       this works

        Dim arr As Integer() = {1, 2, 3, 4}
        For i As Integer = 0 To arr.GetUpperBound(0)
            Me.ListBox1.Items.Add(arr(i))
        Next

~b
0
 
LVL 28

Expert Comment

by:iboutchkine
ID: 12203497
To bind lb to array
  ListBox1.DataSource = (arr)


To ppulate array from lb

ListBox1.Items.CopyTo(arr, 0)



or all together - populate array from lb and back to array

 Dim arr(ListBox1.Items.Count - 1)

        ListBox1.Items.CopyTo(arr, 0)
        ListBox1.Items.Clear()
        MessageBox.Show(Join(arr, ";"))
        ListBox1.Items.AddRange(arr)
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
VB.Net WebRequest Code from JSON curl 7 88
Visual Studios 1 89
Code enhancement 4 33
Get sourcecode path 14 46
This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question