Home > Ask the Microsoft .Net Development Experts > Visual Studio .NET Questions & Answers > How do you use control collection in VB.NET?
Ask The Win Development Expert: Questions & Answers
EMAIL THIS

How do you use control collection in VB.NET?

Chris Sells EXPERT RESPONSE FROM: Chris Sells

Pose a Question
Other Win Development Categories
Meet all Win Development Experts
Become an Expert for this site


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


>
QUESTION POSED ON: 07 January 2003
How do you use control collection in VB.NET? What I'm trying to do is find a quick way to pop up a message box if someone fails to input information into any text box on a form.

>
In WinForms, anything that ultimately derives from the Control base class, including the Form class, has a collection of container controls called Controls. In a Form or UserControl, the InitializeComponent method adds controls to this collection:

Private Sub InitializeComponent()
  Me.Button1 = New System.Windows.Forms.Button()
  Me.CheckBox1 = New System.Windows.Forms.CheckBox()
  Me.ComboBox1 = New System.Windows.Forms.ComboBox()
  Me.Label1 = New System.Windows.Forms.Label()
  ...
  Me.Controls.AddRange( _
    New System.Windows.Forms.Control() { _
      Me.Label1, _
      Me.ComboBox1, _
      Me.CheckBox1, _
      Me.Button1})
  ...
End Sub

At any time, the control container can access these controls:


Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
  Handles MyBase.Load
  Dim control As Control
  For Each control In Me.Controls
    MessageBox.Show(control.Name)
  Next
End Sub

Based on this, you could handle the accept button on your form to check whether all text boxes have been filled with data:


Sub okButton_Click(ByVal sender As Object, ByVal e As EventArgs) _
  Handles okButton.Click
  Dim control As Control
  For Each control In Me.Controls
  ' Check each control to see if it's a TextBox
    If TypeOf (control) Is TextBox Then
      Dim textbox As TextBox = control
      ' Check each TextBox for Text
      If textbox.Text = "" Then
        ' Complain
        MessageBox.Show("Please enter text into all text boxes!")
        ' Set TextBox for input
        Me.ActiveControl = textbox
        ' Don't let the Form go away
        Me.DialogResult = DialogResult.None
        ' Stop checking
        Return
      End If
    End If
  Next
  ' Let the Form go away
  Me.DialogResult = DialogResult.OK
  Me.Close()
End Sub

For more information about Form data validation, see "WinForms Data Validation."


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Ask the Expert
Read data from parallel port
Escape from mailto:
In C#, how can I change the properties of controls on another form?
How do I add images in listview by using VB.NET?
What is the best technique for connecting to a database from VB.NET?
Is ADO.NET record locking no longer an option?
How do I print a form in VB.NET?
How do I get my start page back?
Using an array, how can I create a combo box that lists a dropdown menu for units of length?
How do I determine the type of a control on a Windows Form in VB.NET?

Visual Studio .NET (Archive)
What could be causing this problem with my add New and delete methods?
Is there a .NET equivalent to netsend that I can use in VB.NET?
I'm getting a lot of flickering on my application
How can I make a VB6 network app available on the Internet using .NET?
How can I implement an FTP upload using VB.NET?
VB.NET app works on my local drive but not on the network drive
Is developing add-ons for Windows Explorer supported using managed code in .NET?
In C#, how can I change the properties of controls on another form?
How do I add images in listview by using VB.NET?
What is the best technique for connecting to a database from VB.NET?

Visual Studio .NET
Load a DSL domain model instance file programmatically
Calling via command prompt from ASP.NET
On line-by-line analysis in VS .NET
Best approach for merging text files using arrays
Descriptions of symbols in the class view of a .NET solution
What's the best approach for enumerating network resources?
How to enable a line-by-line code walkthrough
Changing a C++ Makefile project to a Utility project
How can I configure Visual Studio.NET 2002 to use the .NET Framework 1.1?
Changing a datagrid column to read-only=false based on variable

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



Windows Development - White Papers, News and Expert Advice
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2000 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts