Tag Archives: Winforms

How to use ErrorProvider in VB.NET

Error Provider is a cool control which provides visual indications of any errors which you catch.

eg. If you have a text box which is supposed to captured the names of people and if someone leaves it blank you can use Error Provider to provide a visual indication of the error.

 

 

Here is a video  to explain the use of the error provider.

Here is a quick sample of how to use the error provider in vb.net

 

If Len(me.txtName.Text) > 50 Then
                Me.ErrorProvider1.SetError(me.txtName, “First Name can not be more than 50 chars”)
Else
                Me.ErrorProvider1.SetError(me.txtName, “”)
              
End If

How to fill up a ListView from database in VB.NET using a DataTable

You can easily use the following code to fill up your listview control from the data in a datatable using VB.NET

 

Supply the name of your listview and the datatable to this procedure and it will fill it up your list view.

If you wish to display the ongoing process then you can do that as well. Just create a label and then uncomment the following text in the procedure. Create a label and call it myStatusLabel.

‘ myStatusLabel.text = “Displaying Record ” & i + 1 & “/” & iRowCount

 

 

Sub FillListViewByTable(ByVal listView As ListView, ByVal dt As DataTable)
        Dim ii As Integer
        Dim iColCount As Integer = dt.Columns.Count
        Dim iRowCount As Integer = dt.Rows.Count
        listView.Clear()
        For ii = 0 To iColCount – 1
            listView.Columns.Add(dt.Columns(ii).ColumnName, 250, HorizontalAlignment.Left)
          
        Next
   
        Dim i As Integer
        Dim x As Integer
        For i = 0 To iRowCount – 1  ‘ for each row in the table
            Dim lst As New ListViewItem
            lst.Text = dt.Rows(i).Item(0)
            lst.UseItemStyleForSubItems = True
            For x = 1 To iColCount – 1 ‘ for each column in the row of the table
                Application.DoEvents()
                lst.SubItems.Add(SNZ(dt.Rows(i).Item(x)))
             
            Next

               Application.DoEvents()
           ‘    If you want to display the progress then you can do it here
           ‘ myStatusLabel.text = “Displaying Record ” & i + 1 & “/” & iRowCount
            listView.Items.Add(lst)
            lst = Nothing
        Next
    
    End Sub

How to duplicate a winform in Visual Studio easily

You start with a new project and you have created a winform with graphics and the functionality which you want to use in all your other forms in the same project.

One would think that it is easily done as we can simply copy and paste the existing form and rename it and then suddenly all will be well.

That is not the case when you Control C and Control V to copy the form. You will try to rename it but you might gets lots of errors. I have struggled with this may times.

I have discovered a fool proof way which works well.

There is an Export Functionality in Visual Studio which is handy. This functionality allows you to create a template and resuse the template form in your project .

Step 1

Go to File> Export Template in Visual Studio

Step 1
Step 1

 

Step 2

Step 2
Step 2

Select ITEM Template, You can also choose Project Template ( which will appear only in  your existing project).

where as ITEM template would be universally available for all new  or existing projects.

Step 3

 

Select the form which you want to clone

Step 3
Step 3

 

Step 4

 

You might need to select the references which you want to be included, select the ones which you think will need. You can always add them later using the code in your project  using the USING command  in C# or IMPORTS command in VB.NET after you have cloned a form.

Step 4
Step 4

 

Step 5

 

Provide a new name and some useful description to your new template.

Step 5
Step 5

Step 6

 

when you click on Finish in Step 5 the new template will be created in the Windows Folder as you can see below.

Step 6
Step 6

 

Step 7

 

When you click on ADD NEW ITEM in your Visual Studio project you should be able to see you newly created Template. You can use this template whenever there is a need . I found this approach simpler and safer than merely copying and pasting an existing form.

Step 7
Step 7

How to restrict free Data Entry in ComboBox in Visual Studio

When you create a Combo Box in Visual Studio  , the default behaviour is that it will show the list and it will also allow the data entry. So a user can type something in instead of selecting the options listed in the Combo Box. This can cause issues as you might want the user to only select the valid options which are listed in your combo box.

 

Here is a simple way to achieve this behavior. Highlight the Combo Box on your form. The properties window will be show.

Change the Drop Down Style to  DropDownList as shown below.

Your combo box will not allow the users to type in any free text. they will have to select the options listed in your combo box.

 

comboBox1

How to make all labels backcolor as transparent in VB.NET in Visual Studio

If you have a winform with a background image then you would notice that the label background colour will not match the background so it will look like this.

LabelImageWithDifferentColorBackground

 

NB: You can also use the properties to make the label Transparent. The Transparent option is available in the Web colors.

TransparentOptionForLabel

Step 1

But you can easily do it in the code by this code

tlblName.BackColor= Color.Transparent

Step 2

If you have a number of labels on the form then you can loop through each and make the background  colour transparent.

 

 

 

 

 

LabelWithTransparetBackground

 

Here is a code to make the background of the label as transparent.

For Each formLabel As Label In Me.Controls.OfType(Of Label)()
            formLabel.BackColor = Color.Transparent
        Next formLabel