Windows VB.Net Tutorial

Imports System.Runtime.InteropServices
Imports System.Windows.Forms
public class AutoComplete
   public Shared Sub Main
        Application.Run(New Form1)
   End Sub
End class
Public Class Form1
  Inherits System.Windows.Forms.Form
  Public Sub New()
    MyBase.New()
    InitializeComponent()
  End Sub
  Private components As System.ComponentModel.IContainer
  Friend WithEvents Label1 As System.Windows.Forms.Label
  Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
  Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox
  Friend WithEvents CheckBox2 As System.Windows.Forms.CheckBox
   Private Sub InitializeComponent()
    Me.Label1 = New System.Windows.Forms.Label()
    Me.TextBox1 = New System.Windows.Forms.TextBox()
    Me.CheckBox1 = New System.Windows.Forms.CheckBox()
    Me.CheckBox2 = New System.Windows.Forms.CheckBox()
    Me.SuspendLayout()
    '
    'Label1
    '
    Me.Label1.Location = New System.Drawing.Point(10, 15)
    Me.Label1.Name = "Label1"
    Me.Label1.Size = New System.Drawing.Size(70, 20)
    Me.Label1.TabIndex = 0
    Me.Label1.Text = "TextBox:"
    '
    'TextBox1
    '
    Me.TextBox1.Location = New System.Drawing.Point(65, 10)
    Me.TextBox1.Name = "TextBox1"
    Me.TextBox1.Size = New System.Drawing.Size(235, 22)
    Me.TextBox1.TabIndex = 1
    Me.TextBox1.Text = ""
    '
    'CheckBox1
    '
    Me.CheckBox1.Location = New System.Drawing.Point(20, 45)
    Me.CheckBox1.Name = "CheckBox1"
    Me.CheckBox1.Size = New System.Drawing.Size(145, 20)
    Me.CheckBox1.TabIndex = 2
    Me.CheckBox1.Text = "Auto Complete (Suggest)"
    '
    'CheckBox2
    '
    Me.CheckBox2.Location = New System.Drawing.Point(20, 65)
    Me.CheckBox2.Name = "CheckBox2"
    Me.CheckBox2.Size = New System.Drawing.Size(145, 20)
    Me.CheckBox2.TabIndex = 3
    Me.CheckBox2.Text = "Auto Complete (Append)"
    '
    'Form1
    '
    Me.AutoScaleBaseSize = New System.Drawing.Size(5, 15)
    Me.ClientSize = New System.Drawing.Size(307, 93)
    Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.CheckBox2, Me.CheckBox1, Me.TextBox1, Me.Label1})
    Me.MaximizeBox = False
    Me.Name = "Form1"
    Me.Text = "Auto Complete"
    Me.ResumeLayout(False)
  End Sub
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    AutoComplete()
  End Sub
  Private Sub CheckBox1_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckStateChanged
    AutoComplete()
  End Sub
  Private Sub CheckBox2_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckStateChanged
    AutoComplete()
  End Sub
  Private Sub AutoComplete()
    Dim dwFlags As Integer
    If CheckBox1.CheckState Then
      dwFlags = SHACF_URLALL Or SHACF_FILESYSTEM Or SHACF_AUTOSUGGEST_FORCE_ON
      If CheckBox2.CheckState Then
        dwFlags = dwFlags Or SHACF_AUTOAPPEND_FORCE_ON
      Else
        dwFlags = dwFlags Or SHACF_AUTOAPPEND_FORCE_OFF
      End If
    Else
      dwFlags = SHACF_URLALL Or SHACF_FILESYSTEM Or SHACF_AUTOSUGGEST_FORCE_OFF
      If CheckBox2.CheckState Then
        dwFlags = dwFlags Or SHACF_AUTOAPPEND_FORCE_ON
      Else
        dwFlags = dwFlags Or SHACF_AUTOAPPEND_FORCE_OFF
      End If
    End If
    SHAutoComplete(TextBox1.Handle.ToInt32, dwFlags)
  End Sub
  Public Const SHACF_DEFAULT As Integer = &H0S
  Public Const SHACF_FILESYSTEM As Integer = &H1S
  Public Const SHACF_URLHISTORY As Integer = &H2S
  Public Const SHACF_URLMRU As Integer = &H4S
  Public Const SHACF_USETAB As Integer = &H8S
  Public Const SHACF_FILESYS_ONLY As Integer = &H10S
  Public Const SHACF_AUTOSUGGEST_FORCE_ON As Integer = &H10000000
  Public Const SHACF_AUTOSUGGEST_FORCE_OFF As Integer = &H20000000
  Public Const SHACF_AUTOAPPEND_FORCE_ON As Integer = &H40000000
  Public Const SHACF_AUTOAPPEND_FORCE_OFF As Integer = &H80000000
  Public Const SHACF_URLALL As Integer = (SHACF_URLHISTORY Or SHACF_URLMRU)
  Public Declare Function SHAutoComplete Lib "Shlwapi.dll" (ByVal hwndEdit As Integer, ByVal dwFlags As Integer) As Integer
End Class