Visual Basic: Most Popular Articles
class="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >What is Visual
The starting place for exploring Visual Basic resources on the Web. Here's how to get started programming Visual Basic from the ground up.
The advice on the web that tells you how to convert text to numbers in Excel doesn't work. The advice here does. Tested in Excel 2003 and Excel 2007.
Threading is a technique that you usually don't learn about until you find that your program just isn't performing the way it should. This introduction shows you how to get started using threads and also illustrates how they work using a Permutations regression example from a previous article running as a worker thread.
VB.NET resource files allow you to make objects like graphic files, strings, and icons available to your code and be included as part of the project. A resource file is integrated directly into your Visual Basic project for maximum execution speed and minimum hassle packaging and deploying your application. This article tells just how to use them in VB.NET.
Generics extend the power and flexibility of VB.NET in a lot of areas.
VBA - Visual Basic for Applications - is the only remaining VB6
Process.Start is the .NET way to start another program executing in Visual Basic .NET. It's a lot different than the Shell command that was used in VB6. This article shows you the in's and out's of using Process.Start.
If you're new to Visual Basic or new to the About Visual Basic site, this article explains both. Visual Basic is defined and introduced and the article explains what the About Visual Basic site is too.
Microsoft is making it as easy as they can for you to learn Visual Studio by giving away a really great development system absolutely free: Visual Basic .NET 2010 Express Edition. This is part 1 of a introductory tutorial using VB.NET Express. In this segment, you learn what it is, how to get it, and how to get started using it by writing a program.
PDF is an Adobe format for presenting documents. But since Adobe is a competitor to Microsoft, there's uneven support for the format in Microsoft products. You can save Office files as PDF files, but Microsoft doesn't provide any software tools for integrating the format into systems created with VB.NET. But you can do it anyway. This Quick Tip shows you how.
Disposing an object is something that you won't have to worry about in VB.NET very often. .NET includes a technology called Garbage Collection that usually takes care of everything silently and efficiently. But occasionally, usually when using file streams, sql objects or graphics (GDI+) objects, you may need to take control of disposing objects in your own code. Or, you might write your own class that implements the IDisposable interface. This article gives you some useful advice.
Copying a row from one worksheet to another is something that you may want to do in Excel. A reader asked how to write the VBA code to do that and this Quick Tip has the answer.
DataSet is a fundamental object in dozens of VB.NET technologies. If you need a really quick introduction to complete some other task, this Quick Tip is designed to do just that.
class="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >Hopefully, you
The concept of a namespace is new to VB.NET and this makes it one of the things that can confuse someone making the switch from VB 6 to VB.NET. This article explores the concept of a namespace and explores the different ways that it can be used in VB.NET. The article was inspired by a thread in the About Visual Basic Forum.
ToString is one of the fundamental objects in .NET because it's in the Object Object. That means it's available to every object. All of them. Since it's fundamental, it's worth learning more thoroughly than other objects. This Quick Tip shows how to override ToString with your own custom processing.
Visual Basic .NET encourages you to be very explicit in declaring variables. In fact, 'Option Explicit' is the default in VB.NET. Complex variable declarations are possible and declarations do what you expect them to. Read this Quick Tip to understand more about how to declare variables.
Get started learning how to program games by programming Tic Tac Toe in Visual Basic.
A reader asked how to write the Visual Basic code for a Bold, Underline and Italic checkbox. It should be dead easy, but in VB.NET, they've made it a little harder. (Isn't everything?) It's a fundamental topic.
Ten commonsense suggestions to make coding Excel VBA faster and easier. These tips are based on Excel 2010 (but they work in nearly all versions) and many were inspired by the O'Reilly book: Excel 2010 - The Missing Manual by Matthew MacDonald.
An About.com Visual Basic reader asked: How do I use Visual Basic to access the HTML code of a website? A question and answer from About.com Visual Basic.
Handling events that are made available to you by other objects is easy. Mainly, you just have to select the event in the code window and add some statements to the event subroutine that is automatically created. But what if you want to create your own event? This Quick Tip shows you how.
There are still plenty of reasons to use COM, the Component Object Model architecture that was the heart of Microsoft's technology back in VB6 days. This is the second article in a series. The first walks through a program that updates an Excel 2007 spreadsheet using Visual Basic .NET 2008 Express. This article shows how to go the other way and access a .NET Linq object from a VB6 program. Page 2.
Regular expressions are one of those topics, like programming itself, that you can learn more and more about and still not know everything. Page 2.
LinkLabel, new in Visual Basic .NET, is a standard control that lets you embed web-style links in a form. Like many VB.NET controls, this one doesn't do anything that you couldn't do before ... but with more code and more trouble. LinkLabel makes it easy. This article tells you everything you might need to know about using it.
An explanation of how to handle collections of controls that is somewhat like VB 6 control arrays.
A reader asked how to change the background color of an Excel spreadsheet cell with VBA macro code. The answer involved some techniques that could come in handy for more than just this. This Quick Tip explains it all.
Visual Basic .NET event handlers have a common architecture that always uses the arguments sender and e to provide the ability to write code that does whatever is needed. But using these arguments isn't always the same. This article explores the techniques that you can use to handle events in Visual Basic .NET.
Find definitions of technical terms focused for Visual Basic here.
Shadows, Overloads and Overrides redefine an inherited element. But there are confusing and potentially critical differences. This is the
An exploration of Hexadecimal, Octal, Binary as well as the familiar Decimal numbers that are fundamental parts of a programmer's knowledge toolkit.
The actual effect of the Imports statement in VB.NET is often a source of confusion for people learning the language. And the interaction with VB.NET References makes for even more confusion. This Quick Tips article clears it up.
The concept of formatting strings, numbers, and objects like dates has changed a lot in the move up to .NET. This article starts with the Format function in VB6 and moves on to the more complex Format method and Format function in VB.NET.
Data types in VB.NET. Visual Basic.
The sender and e parameters passed by the system to standard VB.NET event subroutines are key elements in your programming toolkit. This Quick Tip explains how to use them.
Namespaces keep Visual Basic .NET organized. .NET by itself is huge and the names of individual software objects frequently overlap. Add in the code that all of the .NET programmers write and you have a giant pot of names that would be chaos if there wasn't a way to organize it and keep one software object from interfering with another. The way it's done is namespaces. This article explains what they are and how to use them.
This article answers the question, what is the difference between VB 6 and VB.NET. It is the About Visual Basic Guide's personal opinion about the reasons for the change and the top five differences.
Step by Step instructions show how to use Arrays and Collections to Manage Data in VB.NET. The differences between arrays and collections are explained. This Step by Step article is suitable for beginners.
A short tutorial about how to create a User Control in VB.NET. The article contains the code for a four function calculator that you can implement as a control.
In the very first edition of VB.NET, compiler generated code was kept in a hidden Region section to protect it from being accidentally changed. When Framework 2.0 was released, Microsoft started using partial classes to do the same thing. But the Region directive is still available to programmers to use to make their own code better organized and easier to read. This Quick Tip shows you how to use it, and why.
class="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >Building complete
GDI+ is the way to draw shapes, fonts, images or generally anything graphic in Visual Basic .NET. This article is part 1 of a complete introduction for programmers.
The ImageList control has been a feature of Visual Basic since VB6 days. But most people don't use it, probably because it's just not clear to many programmers what the ImageList will do. This article explains it.
An About Visual Basic reader asks what the difference is between Hide and Unload in Visual Basic 6.
The ability to design your application interface was given a huge boost when Microsoft intoduced the two new controls TableLayoutPanel and FlowLayoutPanel in Framework 2.0. Using these controls, you can create forms where the other controls, like Textbox and Listbox, stay right where you want them to be. And you can even get autosizing effects that were previously only available with third party purchased controls. This article shows you how to get the most from these controls.
Dialogs can be the most useful type of form in a Windows Forms application, but in spite of this, the way they actually function isn't always easy to understand. The goal of this article is to make it easy for you.
This article provides a concrete example showing how to use VBA in two Office applications at the same time: Word and Excel 2007. This is a
The Decimal data type in VB.NET. Visual Basic.
Written for total non-programmers, Learn VBA Macro Coding with Word 2007 starts out by showing you how to write a very simple VBA program that runs in Word in the first lesson. The course does assume that you know how to use a computer and Word 2007, but it does not assume that you know anything about writing a computer program. If you want to know how to get more out of Word, this course is for you.
The ability to run a batch file (DOS command file) isn't built into Visual Studio. But it's not hard to add it. This Quick Tip explains how.
WPF and XAML - Windows Presentation Foundation - and XAML - Extensible Application Markup Language - are an entirely new way to create application interfaces that were introduced with Windows Vista and Framework 3.0. Most references approach the subject from the XAML and WPF point of view. Here's one written for the Visual Basic programmer that starts at the beginning.
Delegates are used in Visual Basic .NET to describe procedures. Learn the details of coding with Delegates in our example.
While working on a program recently, I needed to guarantee that some text input contained only numbers.
A lot of programmers still use a sequential file when they need to save and retrieve data in a Visual Basic program. There are a lot of better alternatives, however. Free programming tools from Microsoft make it easy to use a database rather than a sequential file. And the new SQL Server Compact 3.5 database files make it even easier. This article shows you how it's done. Page 2.
Most programmers know about shared methods and properties in VB.NET. Not as many know about shared variables, but this relatively obscure use of Share can add power to your coding toolkit as well. This article is a companion to an earlier article on the creative use of the Share keyword.
VB.NET gives you a great new way to save application settings like connection strings or size and color by application or by user. The methods used in VB.NET are different than the ones in VB.NET 1.1 and other .NET languages such as C#. But technical articles I have read and even on Microsoft's own pages make mistakes. The goal of this article is to clear up as much confusion as possible, but some remaining problems are documented in it as well. Page 4.
VB.NET features two logical operators
The .sln and .vbproj files can both be used to start a session of Visual Studio to work on the code for a Visual Basic system. This Quick Tip introduces the VB.NET solution and project files, how they're different and more.
A reader asked how to use a dictionary object to reference a list. This answer explores the different dictionaries and the different lists and ends up showing the difference between a ListBox and a ListView control.
An About Visual Basic reader asked: How do I use the Packaging and Deployment Wizard to create files and folders when the user installs my application? A question and answer from About Visual Basic.
There is quite a bit of ability to resize columns in a VB.NET ListView control. Some of it seems to be totally undocumented. Some of it doesn't seem to work at all. This article explains how to do it.
One way to classify the innovations introduced with LINQ - Language INtegrated Query - is by all of the datastores supported by Microsoft. One of the first datastores people want to use is SQL where the datastore is a SQL Server database. This article shows how to get started using database code that is a compiled part of your VB.NET program.
A reader asked if VBA could be used to login to a secure web site using HTTPS and SSL. The answer is yes ... and no. This Quick Tip explains what that means.
A reader asked for help coding a loop to input data to a ListBox control. The problem was that the reader was using the holdover InputBox from VB6. There are better ways and this Quick Tip shows one of them: the Validating Event of a TextBox control.
AutoComplete is a convenience that nearly any program that uses data - and that's virtually all of them - can use. For Windows forms, it's built into the ComboBox and TextBox controls. This Quick Tip shows how to write the VB.NET code. Bonus: There's a performance killing way to write the code that should be avoided. We tell you what it is.
ASP.NET 4.0 has added the Chart control as a standard feature. It was available in ASP.NET 3.5 as a download. Writing the code for the charts themselves is reasonably complex, mainly because charts are reasonably complex. But the question that pops up most often isn't about the coding the charts. It's about how to make the Chart control work in the first place. That's what this article is about.
A method or property can either be shared, so that the code in the actual Class definition is executed, or it can called through an instance of the Class. This article describes what these two things mean and why they're both useful in Visual Basic .NET.
VB.NET doesn't support bit level operations directly. Framework 1.1 (VB.NET 2003) introduced bit shift operators (<< and >>), but no general purpose way to manipulate individual bits is available. This article shows how to do it.
When you copy a reference type in VB.NET, you can get just a pointer to the same object in memory. This can result in an obscure bug if you're not clear about what's happening. This Quick Tip explains it and how to avoid the bug.
The RichTextBox is more than just a TextBox with more properties and methods. It's a different way of using text. That's because the Rich Text standard is much more than just text. This article explains rich text and how to solve reader questions using a RichTextBox component. Selecting, deleting and moving individual lines in the RichTextBox are the main subjects covered.
The assembly is the fundamental unit of code in .NET. Learn what the concept is and how an assembly is used in your NET system.
A normal class has to be instantiated as an object before the methods in it can be used. But if a method is shared, then the class it's in doesn't have to be instantiated and the method can be used directly. What if you need both? Then you need a feature introduced in VB.NET 2008 called extension methods. This article tells you how that works.
Here's a better guide to the Windows API: bush gore debate win32 api appleman visual basic programmer type libraries
Technical articles, including those at About Visual Basic, usually discuss the detailed syntax of VB.NET, not the overall philosophy of why you might want to do things in a certain way. Design Patterns, on the other hand, are all about the why and how of programming, not the syntax. This article, one of a series about design patterns in VB.NET, discusses what might be the most popular design pattern, the Singleton pattern.
A clever function using the Split function for both VB 6 and VB.NET. From Peter Zilahy Ingerman, PhD
How To Use Resources in Visual Basic 6.
NaN, Infinity, and Divide by Zero - New VB.NET Constants and Try Catch structured error handling.
VB.NET has direct and easy to use support for printing. This short article explains how it's done uisng the System.Drawing.Printing namespace. In addition, if you run into an InvalidPrinterException in Windows XP or an AccessViolationException in Vista, you might want to see how I got around it here.
MVC - Model View Controller - is a whole new way to write programs. It's as much a revolution in thinking as .NET was ten years ago. And, starting with Visual Studio 2010, it's a standard and supported technology with Microsoft. But since it changes the way you write programs so much, it's not easy to wrap your mind around. This article is designed to break through to this new concept in programming. Page 2.
Lambda expressions were introduced in VB.NET 2008/Framework 3.5 and they have a reputation as being really difficult, partly because of the name. In fact, getting started with lamda expressions is really easy. This article shows you what they are.
A reader asked how to sum the values in an Excel spreadsheet. He wanted to find the sum of the values in all cells in one column using a key value in a different column. This VBA program, written using Excel 2003 Visual Basic for Applications (VBA), does the trick.
The VB.NET Books that don't assume much previous knowledge
The pair of terms Shallow Copy and Deep Copy are seen quite frequently in articles about programming. This article explains what they mean.
Drag and Drop can be programmed relatively easily in VB.NET, but it doesn't work unless all the components involved work together.
There are just three coding structures for objects that you can use in VB.NET projects: modules, structures, and classes. This article explains the fundamentals of what they are and how to use them.
Step by Step instructions for using the Publish (ClickOnce) wizard in VB.NET. Each page has an illustration that explains the process. Written for VB.NET 2008.
You can add your own custom project templates and new item templates into Visual Studio. If there are local standards, special requirements, or just programming styles that you like to use, you can start out with part of your work already done by creating a custom template. This article shows you how.
Most Visual Basic articles for beginners that use data will either use hard coded data in the program or a simple file. This article shows complete beginners how to use a real SQL Server database for the first time.
Technical articles, including those at About Visual Basic, usually discuss the detailed syntax of VB.NET, not the overall philosophy of why you might want to do things in a certain way. Design Patterns, on the other hand, are all about the why and how of programming, not the syntax. This article, one of a series about design patterns in VB.NET, discusses a design patter that might might have thought you already knew about, the Delegation pattern. Part 1 - this part - explains the general case of delegation.
Students of Visual Basic .NET may not fully understand the concept of what static (Shared in VB.NET) and dynamic mean in object oriented programming. This article explains it.
class="no-js" itemscope itemtype="http://schema.org/Article" >LINQ - An Example Driven Introduction with
The ToString method is one of the fundamental methods in the root of the entire .NET Framework. That makes it available in every other object. This quick tip shows some of the ways ToString can be used.
A short description showing how to manage multiple forms in a VB .NET application.
A property of an object can be coded in the class that defines the object as either a Property or a Public variable in the class. This Quick Tip tells you when to do which one. If your New constructor isn't working and you can't figure out why, this tip also documents a bug that might explain the problem.
These two structures can do the same things. Which one should you use? A Quick Tip that compares them, including StopWatch and ILDASM analysis.
Classes are the heart of .NET and VB.NET because they're the way Object Oriented Programming (OOP) is actually implemented. A class is the basis of an object. This is one of a series of detailed articles about classes. This article covers base classes and derived classes and introduces inheritance.
A reader asked for help using InputBox to code a loop to input data to a ListBox control. The InputBox is a VB6 holdover function that probably shouldn't be used. Another article that is linked in this one shows why and what to do instead. But this article shows how to use unmanaged code to solve one problem with the InputBox: You can't tell the difference between blank input and the Cancel button.
There are two ways to represent time in VB.NET, DateTime and TimeSpan. They're very different, even though they're companion objects. This Quick Tip reveals how they work.
Visual Basic .NET is completely OOP (Object Oriented Programming) because it supports inheritance, the major thing that previous versions of Visual Basic did not support. And because it supports inheritance, it also has two new access modifiers: Friend and Protected Friend. This Quick Tip introduces them to you.
Validating data entered into controls is built into .NET and it was part of Visual Basic back in VB6 days. There is a whole family of events and properties that can be used. This Quick Tip introduces you to the Validation family.
Casting is the process of converting one data type to another, for example, from an Integer type to a String type. Some operations in VB.NET require specific data types to work. Casting creates the type you need. Part One of this two part series introduces casting. This article comparies the performance of DirectCast, CType and TryCast.
Should you instantiate a Form before using it in VB.NET with the syntax: Dim myForm as New Form? Technical articles usually recommend that you do. But the real pro's and con's are examined in this article and the traditional recommendation might not be right anymore.
The seventh article in the beginning database series for VB.NET programmers moves to a higher level by covering the use of data sources to create a VB.NET database application.
Learn how to handle division by zero using VB.NET's structured error handling, as well as understand the new VB.NET constants: NaN, Infinity and Epsilon.
Focus and Select are methods available in Visual Basic .NET that seem to be completely identical. This article explores whether they really are identical, and if not, what differences exist.
class="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >Strings may be
class="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >This article shows
An introduction to the ClickOnce (Publish) deployment tool in VB.NET, based on VB.NET 2008 and shows how to deploy an application using ClickOnce.
Collections are a handy alternative to using arrays in VB6. In VB.NET, the same tasks can be done with the Hashtable object. Here's an explanation of what they are and how they work, with examples!
Most Visual Basic articles for beginners that use data will either use hard coded data in the program or a simple file. This article shows complete beginners how to use a real SQL Server database for the first time. Page 2.
.NET, and in particular, Visual Basic, provide extra help for discovering information about Special Directories in the (exclusive to VB.NET) My namespace. But not everything you might want to know about is there. This article shows you what's missing, and how to find that using the Environment namespace.
IEnumerable and IEnumerator are frequently tossed into technical articles these days. That's because this technique forms a core element of .NET technology. Unfortunately, the articles don't say a thing about what they do. This article, written in the 'from the ground up' style, fills in that missing explanation.
The Enum is a fundamental part of Visual Basic that dates back to before VB.NET. This article shows you what it is and how to use it in programs.
A reference guide to the class modifiers that you can code in your VB.NET program
A structure and a multidimensional array have a lot in common in .NET programming, but there are differences. Here's how to understand both of them.
An article about the Microsoft announcement that free support for VB 6, Visual Basic 6, will be discontinued after March 2005 and about the petition that is attempting to pursuade Microsoft to change their policy.
Threading is a technique that lets you take advantage of the blinding speed of todays fast, multiprocessor computers by allowing several processes (threads) to work in parallel. But threading requires unique coding to control and manage what the program is doing. This is the fourth article in a series, covering InterLock and SyncLock, that shows how it's done.
class="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >In today's security
Debugging in VB.NET usually means using the Debug icons to single-step your program and maybe a few breakpoints. But there are a lot of little known things about debugging. This quick tip shows just a few of the more useful ones.
The Class Diagram tool in Visual Studio Professional can help you code your VB.NET programs in multiple ways. You may not be using this tool now because it's just not required for writing programs. This article introduces thise useful tool.
The Windows Forms libraries in Visual Basic .NET includes a number of convenient provider components. One of these is the ErrorProvider component that pops up an icon to tell the user that something is wrong when your program is validating user input. This Quick Tip tells you how to use it.
Visual Basic .NET Database Programming: formal syntax programming emphasis rod stephens ini files database programming
Partial Classes were introduced with VB.NET 2005 (Framework 2.0) and are used in a lot of different ways in VB.NET, including ASP.NET and Windows Forms. This article explains what they are and why they're useful, including how to hide them in Visual Studio Solution Explorer. Tested in both VB 2005 and VB 2008.
Exception logging using VB.NET is simple, easy, and works really well ... unless you want to do something different than the standard functions allowed by the My.Application.Log object. Then it gets a little tougher. This article discusses both.
Writing VBA Programs in Excel is the next step up when you want to become a real Excel expert. You can do everything from the keyboard, or you can enlist the help of your computer to do things faster and smarter with Visual Basic for Applications programs to automate Excel. This article will get you started. Page 2.
The FilesystemWatcher component makes it easy to write programs that run when a file has been added, deleted, or just changed.
In VB 6, it was common to be required to use Windows API calls to get things done. In VB.NET, it doesn't happen very often, and, quite frankly, it's a lot harder to do. Before .NET 2.0, using SetEnvironmentVariable was one one of the times when a Win API call was necessary. This article shows you how to call this API in Windows.
Learn how to show a progress file while copying a file using VB.NET 2008, along with examples of the OpenFileDialog and the FolderBrowserDialog.
Explicit Validation in VB.NET is a concept that is used a lot in Microsoft documentation. But there are no examples and very little explanation of how it's supposed to work. This Quick Tip explains what 'Explicit' validation is.
VB.NET has a quicker way to initialize data objects. This Quick Tip shows you how to do it with both parameter based constructors and anonymous types.
class="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >This is one of
Solving timing problems that occur when opening a new instance of IE in VB 6.
Using the Microsoft Windows Install MSIEXEC utility
How To Use Resources in Visual Basic 6. Page 2.
Checksum is a method or finding, and sometimes fixing, errors in files, message packets, strings, or any set of bits that has to be accurate. It's used most often in data communications where getting a bit scrambled here and there happens a lot. In my survey of all that is out there for you to read about it, it seemed to me that what was missing was a basic explanation of what a checksum actually is. That's what this article is all about.
According to C++ programmers, a lack of something called "multiple inheritance" in VB.NET (and other
There are still plenty of reasons to use COM, Microsoft's Component Object Model architecture, in .NET. This article walks through a program that updates an Excel 2007 spreadsheet using Visual Basic .NET 2008 Express.
A reader asked for help finding a way to determine the path to installed software. This Quick Tip not only shows how to do that, it can serve as an introduction to working with the Windows registry in general using VB.NET.
class="no-js" itemscope itemtype="http://schema.org/Article" > itemprop="description" >This is one of
Visual Studio makes us lazy because it does everything. This article explains what a Form application really is and shows how to run one as an application from a console application, both as a single threaded apartment (STAThread) and a multithreaded apartment model (MTAThread).
Dialogs can be the most useful type of form in a Windows Forms application, but in spite of this, the way they actually function isn't always easy to understand. The goal of this article is to make it easy for you. Page 2.
A complete explanation of how to calculate leap years in Visual Basic, what problems are out there, and why it's necessary.
Most Windows applications use Form.Load for initialization code, such as setting the starting value of variables or perhaps downloading starting values from a database. But what if your program needs more control? You might want to put all of your intialization code in a different module for security reasons, for example. This article shows you how to code your own Main routine which can then turn control over to a startup form ... or code something else.
If you look up "abstract base class" at Microsoft, you will get hits on C# and C++ pages that may not
This article shows more advanced ways to create custom controls in VB.NET, and demonstrates how to override a method in an inherited control. A more basic article showing how to get started using Inheritance to build custom controls is referenced in the article.
WPF is very different from Windows Forms, in part because things are drawn on the output in a way that can make your code fail in unexpected ways. This short article describes how this can happen when WPF has failed to calculate the Width and Height properties during the layout and what to do about it.
A really fast Quick Tip about a very useful object that you can use in VBScript - Visual Basic Script - to manage your desktop; the CreateShortcut object.
.NET introduced some serious improvements for timing things with the new StopWatch object and improvements in dates and times. But how all this works together, and in relation to each other is one of those dark, musty corners of .NET. This article clears out some of the cobwebs. Page 2.
The TreeView class can be one of the most useful ways to organize information visually of any in VB.NET. You see it constantly on web pages, especially at Microsoft. But it's just different enough so that it's often not the first idea many programmers have. This article covers the Windows forms version of TreeView and is designed to change that.