Results 1 to 4 of 4

Thread: [RESOLVED] Shorter code

  1. #1

    Thread Starter
    Member
    Join Date
    Mar 2011
    Posts
    56

    Resolved [RESOLVED] Shorter code

    Hello, how i can make this code shorter:
    Code:
    Dim reminderday As Integer = 13
    
    Select Case reminderday
                        Case 1
                            D1.BackgroundImage = My.Resources.Reminder
                            Label1.ForeColor = Color.Yellow
                        Case 2
                            D2.BackgroundImage = My.Resources.Reminder
                            Label2.ForeColor = Color.Yellow
                        Case 3
                            D3.BackgroundImage = My.Resources.Reminder
                            Label3.ForeColor = Color.Yellow
                        Case 4
                            D4.BackgroundImage = My.Resources.Reminder
                            Label4.ForeColor = Color.Yellow
                        Case 5
                            D5.BackgroundImage = My.Resources.Reminder
                            Label5.ForeColor = Color.Yellow
                        Case 6
                            D6.BackgroundImage = My.Resources.Reminder
                            Label6.ForeColor = Color.Yellow
                        Case 7
                            D7.BackgroundImage = My.Resources.Reminder
                            Label7.ForeColor = Color.Yellow
                        Case 8
                            D8.BackgroundImage = My.Resources.Reminder
                            Label8.ForeColor = Color.Yellow
                        Case 9
                            D9.BackgroundImage = My.Resources.Reminder
                            Label9.ForeColor = Color.Yellow
                        Case 10
                            D10.BackgroundImage = My.Resources.Reminder
                            Label10.ForeColor = Color.Yellow
                        Case 11
                            D11.BackgroundImage = My.Resources.Reminder
                            Label11.ForeColor = Color.Yellow
                        Case 12
                            D12.BackgroundImage = My.Resources.Reminder
                            Label12.ForeColor = Color.Yellow
                        Case 13
                            D13.BackgroundImage = My.Resources.Reminder
                            Label13.ForeColor = Color.Yellow
                        Case 14
                            D14.BackgroundImage = My.Resources.Reminder
                            Label14.ForeColor = Color.Yellow
                        Case 15
                            D15.BackgroundImage = My.Resources.Reminder
                            Label15.ForeColor = Color.Yellow
                        Case 16
                            D16.BackgroundImage = My.Resources.Reminder
                            Label16.ForeColor = Color.Yellow
                        Case 17
                            D17.BackgroundImage = My.Resources.Reminder
                            Label17.ForeColor = Color.Yellow
                        Case 18
                            D18.BackgroundImage = My.Resources.Reminder
                            Label18.ForeColor = Color.Yellow
                        Case 19
                            D19.BackgroundImage = My.Resources.Reminder
                            Label19.ForeColor = Color.Yellow
                        Case 20
                            D20.BackgroundImage = My.Resources.Reminder
                            Label20.ForeColor = Color.Yellow
                        Case 21
                            D21.BackgroundImage = My.Resources.Reminder
                            Label21.ForeColor = Color.Yellow
                        Case 22
                            D22.BackgroundImage = My.Resources.Reminder
                            Label22.ForeColor = Color.Yellow
                        Case 23
                            D23.BackgroundImage = My.Resources.Reminder
                            Label23.ForeColor = Color.Yellow
                        Case 24
                            D24.BackgroundImage = My.Resources.Reminder
                            Label24.ForeColor = Color.Yellow
                        Case 25
                            D25.BackgroundImage = My.Resources.Reminder
                            Label25.ForeColor = Color.Yellow
                        Case 26
                            D26.BackgroundImage = My.Resources.Reminder
                            Label26.ForeColor = Color.Yellow
                        Case 27
                            D27.BackgroundImage = My.Resources.Reminder
                            Label27.ForeColor = Color.Yellow
                        Case 28
                            D28.BackgroundImage = My.Resources.Reminder
                            Label28.ForeColor = Color.Yellow
                        Case 29
                            D29.BackgroundImage = My.Resources.Reminder
                            Label29.ForeColor = Color.Yellow
                        Case 30
                            D30.BackgroundImage = My.Resources.Reminder
                            Label30.ForeColor = Color.Yellow
                    End Select
    I tried this:
    Code:
    D & reminderday.BackgroundImage = My.Resources.Reminder
    But this not worked. ;/
    Maybe i should to somehow make an array list of all 30 Picture boxes?

  2. #2
    PowerPoster
    Join Date
    Oct 2008
    Location
    Midwest Region, United States
    Posts
    3,574

    Re: Shorter code

    Try this to give you an idea:

    Put a text box on a form, call it txtDay.

    Put a button on the form, call it btnGo.

    Use this code:

    Code:
    Public Class Form1
    
        Dim colors(0 To 4) As Color
        Dim labels(0 To 4) As Label    'create an array of labels at run time
    
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Dim i As Integer
    
            For i = 0 To 4
                labels(i) = New Label
                labels(i).AutoSize = False
                labels(i).BorderStyle = BorderStyle.FixedSingle
                labels(i).Height = 50
                labels(i).Width = 50
                labels(i).Top = 20
                labels(i).Left = (i * 50) + 10
                labels(i).BackColor = Color.White
                labels(i).Visible = True
                Me.Controls.Add(labels(i))
            Next
    
            colors(0) = Color.Black
            colors(1) = Color.Yellow
            colors(2) = Color.Blue
            colors(3) = Color.Green
            colors(4) = Color.Red
    
        End Sub
    
        Private Sub btnGo_Click(sender As System.Object, e As System.EventArgs) Handles btnGo.Click
    
            labels(txtDay.Text - 1).BackColor = colors(txtDay.Text - 1)
        End Sub
    End Class
    Put a number (1 thru 5) into the text box and click the button.

  3. #3
    Fanatic Member
    Join Date
    Mar 2008
    Posts
    519

    Re: Shorter code

    You can get controls by their names aswell, by using Me.Controls.

    Untested example:
    vb.net Code:
    1. Dim control1 As PictureBox = Me.Control.Find("D" & reminderday, false)(0)
    Last edited by Zeelia; Jan 27th, 2012 at 09:08 AM.

  4. #4

    Thread Starter
    Member
    Join Date
    Mar 2011
    Posts
    56

    Re: Shorter code

    Quote Originally Posted by Zeelia View Post
    You can get controls by their names aswell, by using Me.Controls.

    Untested example:
    vb.net Code:
    1. Dim control1 As PictureBox = Me.Control.Find("D" & reminderday, false)(0)
    Thank you very much!!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width