Library tutorials & articles

Leverage the .NET Framework with Visual Basic.NET

More New Features

Returning values from Functions

The return value from a VB function is normally set by assigning it to the function name as in:

Public Function MyFunc() As Int32
  MyFunc=42
End Function

With VB.Net an alternate format is also available:

Public Function MyFunc() As Int32
  Return(42)
End Function

Initializers

Initializers allow you to specify values when variables are declared. For example:

Private mProp As Int32 = 42
Dim sTitle As String = "Default"
Dim dblRates() As Double = {5.0, 25.5, 62.7}

Constructors

A constructor on a class allows a set of values to be passed in when the class is created. This allows the class to initialize properly and eliminates the need to add code to check that required properties are set before other properties or methods are called.

Multithreading

It is possible to create multithreaded applications in VB.Net. With multithreading, for example, a long-running process can be spawned on a secondary thread while the main application thread continues to interact with the user. It is also possible to write Windows NT services natively in VB.Net rather than needing to use API calls or third-party controls.

Conclusion

The Visual Basic.NET language also provides a modernized, simplified syntax that will make developers' code more robust, scalable and flexible. One of the most important additions is object inheritance. In Visual Basic.NET, all managed types derive from System.Object. The universal type system allows for greater interoperability, also contributing to the enhanced power and flexibility found in Visual Basic.NET.

Comments

  1. 05 Oct 2004 at 17:33
    re-install your prerequisites cd this will correct the problem.
  2. 05 Oct 2004 at 17:23
    to create an actual installation cd-rom for your application you would copy the entire contents of the Release folder to writable cd-rom at this point. If the target computers don't include the .net framework, you should also copy the .net framework redistributable file (dot-netfx.exe), which the user will have to install separately. You need a cd-rw drive to do this.
  3. 10 Mar 2004 at 13:12

    hello, I developed application in visual basic .net and when i tried to run this application in other computers then setup file prompt me message to first install the .net framework in the computer then installation will start so after installing the .net framework in other computer, my setup or application worked fine but .net framework file size is almost 23 MB that is very big to distribute with my application or to ask from the user to download this file. My application size is only 4MB. Well, i conclude that VB.net is not useful if some one want to distribute his small application to many hundred computers because it require .net framework (23 MB) that is very difficult to download. So i am moving back to VB6 for my application developemnt. If you have any idea that i should stick to VB.net then please let me know, I need help. It is very difficult for me to write code again for VB6. bye

  4. 03 Jun 2003 at 16:42

    You probably figured this out by now but for anyone else with the same or similar problem looking for the old VB6 control array then you need to delegate the Event to a helper method.


    The helper method must have the same signature as the event being delegated
    Usually along the lines of  “Event Name”
    (ByVal sender As Object, ByVal e As System.EventArgs)



    to demonstrate create a new windows project and add 4 radio buttons to the form or another control if you prefer( Alter the code to suit )
    and add the following code to the form


    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
           AddHandler RadioButton1.Click, AddressOf RadioChanged
           AddHandler RadioButton2.Click, AddressOf RadioChanged
           AddHandler RadioButton3.Click, AddressOf RadioChanged
           AddHandler RadioButton4.Click, AddressOf RadioChanged


       End Sub


       Private Sub RadioChanged(ByVal sender As Object, ByVal e As System.EventArgs)
           MsgBox(CType(sender, RadioButton).Name)
       End Sub



    OK this a bit useless as most people would not use radiobuttons in this manor


    Add a number of textboxes to the form about 10 would be ok
    Then add this code to the form load event


          Dim ctrl As Control
           For Each ctrl In Me.Controls
               If TypeOf ctrl Is TextBox Then
                   AddHandler ctrl.Validating, AddressOf ValidateTextFields
               End If
           Next
           ctrl.Dispose()
           ctrl = Nothing



    and add this method


    Private Sub ValidateTextFields(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
           e.Cancel = CType(sender, TextBox).Text = String.Empty
           If e.Cancel = True Then
               MessageBox.Show("TextField " & CType(sender, TextBox).Name & " Must Be Completed", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Information)
           End If
       End Sub



    You should now have a simple ( all be it poor for user input, but it is only a demo of a concept) validation on all textboxes


    Why not add it to the handles clause of the first textboxes validation event
    Like
    Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
    Handles TextBox1.Validating, TextBox2.Validating


       End Sub


    This will work but you can not remove the handler at a later stage Add the following to the ValidateTextFields method after the previous if statement



      If CType(sender, TextBox).Name = "TextBox1" Then
               RemoveHandler TextBox1.Validating, AddressOf ValidateTextFields
           End If



    This should remove the handler and the validation



    I Hope this helps
    Cheers
    James



  5. 02 Apr 2003 at 16:14
    In my current project I have to check the state of a number of radio buttons. For example if I have to check the state of 100 buttons do I have to do each one individually, e.g.

    if radState0.checked = true then sum += 1
    ....
    ....
    if radSate99.checked = true then sum += 1

    or can I do it in a loop e.g.

    for i = 0 to 99
    if radState(i).checked = true then sum += 1
    next i

    Please excuse the naivity of the question but I am starting from the ground up.

    Regards

    Bob
  6. 25 Feb 2003 at 16:11

    When I ran into this problem it was due to the fact that i was on a different machine and some of the files included in References for my VB6 app weren't installed and registered on the new machine.  Is it possible that some of the files that your VB6 app needs were uninstalled or unregistered when you uninstalled VB6?

  7. 24 Jan 2003 at 04:42

    I have a project designed and implemented using VB6.0 and Oracle 8i.Recently I unistalled Visual studio 6.0 and installed .NET.Now when I try to open my project through the .NET IDE it invokes the update wizard.However the updation does not succeed as the process reports several missing file.Can anyone help me out in updating the above project to .NET platform.Why are the errors encountered?
    Thanks
    Shant

  8. 14 Jun 2002 at 13:57

    I don't understand the reason why the size of Bool type in VB.Net is of 4 bytes (as by article of G.Gnana Arun Ganesh). Can somebody explain?

  9. 01 Jan 1999 at 00:00

    This thread is for discussions of Leverage the .NET Framework with Visual Basic.NET.

Leave a comment

Sign in or Join us (it's free).

G.Gnana Arun Ganesh G.Gnana Arun Ganesh is the Administrator and the Founder of ARUN MICRO SYSTEMS (www.arunmicrosystems.netfirms.com). He has been programming in C++, Visual Basic, COM, Java and Microsoft Technologie...
AddThis

Related podcasts

  • xpert to Expert: Inside Concurrent Basic (CB)

    "Concurrent Basic extends Visual Basic with stylish asynchronous concurrency constructs derived from the join calculus. Our design advances earlier MSRC work on Polyphonic C#, Comega and the Joins Library. Unlike its C# based predecessors, CB adopts a simple event-like syntax familiar to VB progr...

We'd love to hear what you think! Submit ideas or give us feedback