Form References (Communication
between Forms)
Before VB .NET (from inside the form)
You could reference a form’s properties in code inside that form by merely
specifying a property (leaving off the name of the form):
BackColor = vbBlue
Before VB .NET (from outside the form)
If you want to show or adjust properties of controls in one form (by writing
programming in a second form), you merely use the outside form’s name in
your code. For instance, in a CommandButton_Click event in Form1, you can
Show Form2and change the ForeColorof a TextBox on Form2, like this:
Sub Command1_Click ()
Form2.Show
Form2.Text1.ForeColor = vbBlue
End Sub
VB .NET (from inside the form)
To reference a form’s properties from code inside the form, you must use Me:
Me.BackColor = Color.Blue
VB .NET (from outside the form)
Say that you want to be able to contact Form2 from within Form1. You want
to avoid creating clone after clone of Form2. If you use the Newstatement
willy-nilly all over the place (Dim FS As New Form2), you propagate multi-
ple copies of Form2, which is not what you want. You don’t want lots of win-
dows floating around in the user’s Taskbar, all of them clones of the original
Form2.
BC61
Appendix B: A Dictionary of VB .NET
Pdf form creation - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
adding form fields to pdf files; pdf fillable form creator
Pdf form creation - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
pdf save form data; convert word to editable pdf form
Instead, you want to be able to communicate with the single, original Form2
object from Form1. One way to achieve this is to create a public variable in
Form1, like this:
Public f2 As New Form2
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
f2.Show()
f2.BackColor = Color.Blue
End Sub
Form1 is instantiated first when a VB .NET project executes (by default, it is
the “startup object”) in any Windows-style VB .NET project. So, by creating a
Public variable that instantiates Form1 (the Newkeyword does that), you 
can then reference this variable (f2here) any time you need to manipulate
Form2’s properties or methods from within Form1. It’s now possible for
Form1 to be a client of Form2, in other words.
The problem of communicating from Form2 to Form1, however, is somewhat
more complex. You cannot use the Newkeyword in Form2 or any other form
because that would create a second Form1. Form1 already exists because it is
the default startup object.
To create a way of accessing Form1, create an object variable in a module;
then assign Form1 to this variable when Form1 is created. The best place to
do this assigning is just following the InitializeComponent()line in the
Sub New()constructor for Form1.
Create a module (choose Project➪Add Module). Modules are visible to all the
forms in a project. In this module, you define a public variable that points to
Form1. In the module, type this:
Module Module1
Public f1 As Form1()
End Module
Notice that the Newkeyword was not employed here. You are merely creating
an object variable that will be assigned to point to Form1. Click the + next to
“Windows Form Designer generated code” in Form1’s code window. Locate
Form1’s constructor (Public Sub New) and, just below the Initialize
Component()line, type this:
InitializeComponent()
F1 = Me
BC62
Visual Basic 2005 Express Edition For Dummies 
C# Word: How to Create Word Online Viewer in C# Application
and TIFF web viewer creating, you can go to PDF Web Viewer Creation in C#.NET and TIFF Web Viewer Creation in C# web page, you should add a new Web Form to your
create a form in pdf from word; best way to make pdf forms
VB.NET PDF - Create PDF Online with VB.NET HTML5 PDF Viewer
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. An advanced PDF loading and creation tool, which supports to be
can save pdf form data; pdf editable fields
This assigns Me(Form1, in this case) to the public variable F1. Now, when-
ever you need to communicate with Form1 from any other form, you can use
F1. For example, in Form2’s Load event, you can have this code:
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e 
As System.EventArgs) Handles MyBase.Load
F1.BackColor = Color.Brown
End Sub
Formatting Strings
In VB .NET, you can format strings by using a set of character symbols that
represents typical formatting styles.
The following code gives a result of $44,556,677.00:
Dim i As Integer = 44556677
Dim s As String = i.ToString(“c”) ‘ use the “c” for currency
format
Debug.Write(s)
There is also dfor decimal, for exponential, ffor fixed point, nfor number,
pfor percent, xfor hex, and a whole variety of other symbols you can look up
in VB .NET Help. To look them up, choose Help➪Search and then type the 
following line into the address field:
ms–help://MS.VSCC/MS.MSDNVS/cpguide/html/
cpconformattingoverview.htm
Here’s an example showing how various formatting symbols can be combined:
Dim d As Double = 44.556677
Dim s As String = d.ToString(“%#.##”)
Debug.Write(s)
This results in:
%4455.67
If you’re using a StringBuilderobject, you can employ its AppendFormat
method by using one of the formatting symbols.
BC63
Appendix B: A Dictionary of VB .NET
C# HTML5 PDF Viewer SDK to create PDF document from other file
Form Process. Data: Read, Extract Field Data. Data: Auto Fill-in Field Data. Field: Insert, Delete An advanced PDF loading and creation tool easily
add text field pdf; add print button to pdf form
VB.NET Image: Program for Creating Thumbnail from Documents and
to create thumbnail from multiple document and image formats, such as PDF, TIFF, GIF, BMP, etc. It is easy to use this VB.NET thumbnail creation control to
change font in pdf form; create a form in pdf
Frame Becomes Group Box
Before VB .NET
The Frame was the control used to create subdivisions on forms, to optionally
label those subdivisions, and to enclose a set of option buttons (so that when
the user clicked one button, the previously selected button was unselected).
In VB .NET
The Frame is now named the Group Box, but it behaves the same way as the
Frame did.
Function Return Alternative
Before VB .NET
In traditional VB, a function returned a value to the caller by simply assigning
that value to the function’s name. For example, this function multiplied a
number by 2 and then returned the result to the caller:
Public Function DoubleIt(passednumber As Integer)
passednumber = passednumber * 2
DoubleIt = passednumber
‘assign the result to the function’s name
‘so it gets passed back to the caller 
End Function
VB .NET
It’s not mandatory, but if you want to use C-like syntax, you can now use the
following way of returning a value to the caller:
BC64
Visual Basic 2005 Express Edition For Dummies 
VB.NET Image: Web Image and Document Viewer Creation & Design
Our document & image web viewer for VB.NET can be used to view and print such documents and images as JPEG, BMP, GIF, PNG, TIFF, PDF, etc.
pdf form save with reader; chrome save pdf with fields
C# PDF - Create Barcode on PDF in C#.NET
Form Process. Data: Read, Extract Field Data. Data: Auto Fill-in Field Data. Field: Insert, Delete, Update Field. C# PDF Barcode Creation Overview.
add date to pdf form; cannot save pdf form in reader
Public Function DoubleIt(ByVal passednumber As Integer) As
Integer
passednumber = passednumber * 2
‘use the Return statement to pass the result
‘back to the caller
Return (passednumber)
End Function
I don’t know about you, but I view this syntax as a real improvement over the
way that VB has always returned function values. It’s clearer and easier to
read. I confess that some C-language diction and syntax are, to me, not as
readable as traditional VB. But this one is an exception.
In the following function, the If...Thentest will never execute:
Public Function DoubleIt(ByVal passednumber As Integer) As
Integer
passednumber = passednumber * 2
Return (passednumber)
If passednumber > 50 Then MsgBox (“Greater than 50”)
End Function
The If...Thenline comes after the Return, and anything following Return
in a function is not executed. Returncauses an immediate ExitFunction.
Garbage Collection Debate
Before VB .NET
One of the most controversial changes in VB .NET is the way that objects are
terminated. As defined by the Microsoft COM framework, when an object is
instantiated (brought into being), it is automatically kept track of, and when
it is no longer needed by the program, its Terminateevent is triggered. (You
can kill an object in this way: Set MyObject = Nothing.)
BC65
Appendix B: A Dictionary of VB .NET
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Rapidly and multiple PDF document (pages) creation and edit methods in VB.NET. Feel PDF File and Page Creation and Modification. Tell
best program to create pdf forms; build pdf forms
C# Excel: Tutorial for Web Excel Document Viewer Creation
Support saving modified Excel document PDF and TIFF files within NET Web Document Viewer for Excel - Creation in C#. Add a new Web Form (Default.aspx) to your C#
add fields to pdf; chrome pdf save form data
An object’s Terminateevent allows you to do any needed shutdown house-
keeping chores (by putting such code into the Terminateevent), and then
the object is destroyed. This keeps things clean and, above all, frees up
memory. (The use of a Terminateevent in this fashion is called deterministic
finalization.)
VB .NET
VB .NET does not keep track of objects in the COM fashion. Instead, .NET uses
a garbage collection(GC) technique that checks things from time to time during
a VB .NET program’s execution. It checks its list of object references, and if an
object is no longer in use, GC deletes it and thereby frees memory. This means
that you, the programmer, cannot know when an object is destroyed, nor the
order in which objects in an object hierarchy are destroyed. You cannot rely on
Terminateevent.
If your VB 6 and older source code relies on an object’s Terminateevent or a
predictable order of termination, you’ll have to rewrite that object to give it a
procedure that shuts it down. And if you need to keep a count of references,
you also need to give it a procedure that opens the object and deals with this
reference counting.
Technically, the garbage collection approach can prevent some problems,
such as memory leaks. And it also permits faster performance. However,
many programmers (mostly C programmers, actually) are upset because the
garbage collection approach not only requires quite a bit of rewriting to port
older programs to VB .NET, but it also means that the programmer, not the
computer, has the burden of adding open and close procedures for his or her
objects. This is potentially a serious source of errors because the object no
longer automatically handles its own termination. (Clients, users of the
object, must specifically invoke the Closeevent and ensure that the event
doesn’t itself spawn any unintended side effects — in other words, clients
must error trap.) However, for VB programmers, it’s best to just relax and let
VB .NET handle this issue.
Global Is Gone
Before VB .NET
VB has had a Globalcommand for years. It declares a variable with the
widest possible scope — application-wide. Any form or module in the appli-
cation can see and manipulate a Globalvariable. Globalis no longer in the
language.
BC66
Visual Basic 2005 Express Edition For Dummies 
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
application form (Here, we take a blank form as an example); Now, with simple C#.NET code, you can easily open a file dialog and load your PDF document in
create a fillable pdf form from a word document; add attachment to pdf form
VB.NET PowerPoint: VB Codes to Create Linear and 2D Barcodes on
as 2d barcodes QR Code, Data Matrix, PDF-417, etc add barcode, which will be in the form of REImage Basic .NET code for a certain barcode creation on PowerPoint
create pdf forms; change font size in pdf form field
VB .NET
The Publiccommand is the equivalent of Global. Use Publicinstead.
GoSub, On . . . GoSub, and On . . . 
GoTo Are No More
Before VB .NET
The various GoSuband GoTostructures have been used in traditional VB for
error trapping or for quick, convenient execution of a task that requires many
parameters. GoSubor GoTocommands must be used within a given proce-
dure. Therefore, if you have some code that you GoSubto, it would not be
necessary to “pass” parameters to this task (the variables would all have
local scope, and therefore would be usable by your task).
The On...commands were also sometimes used instead of Select...Case
or Ifbranching situations.
VB .NET
These three commands are removed from the language.
Handle Property
This new property gives you the window handle for this control.
Handles
In VB 6 and earlier, eachevent of each object (or control) was unique. When
the user clicked a particular button, that button’s unique event procedure was
triggered. In VB .NET, each event procedure declaration ends with a Handles
command that specifies which event or events that procedure responds to. 
In other words, you can create a single procedure that responds to multiple
different object events.
BC67
Appendix B: A Dictionary of VB .NET
To put it another way, in VB .NET, an event can “handle” (have code that
responds to) whatever event (or multiple events) that you want it to handle.
The actual sub name (such as Button1_Click) that you give to an event proce-
dure is functionally irrelevant. You could call it Bxteen44z_Click if you want. 
It would still be the click event for Button1 no matter what you named this
procedure, as long as you provide the name Button1 following the Handles
command.
In other words, the following is a legitimate event where you write code to
deal with Button1’s Click:
Private Sub Francoise_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
The Handles Button1.Clickcode does the trick.
You can even gang up several events into one, like this:
Private Sub cmd_Click(ByVal sender As System.Object, ByVal e 
As System.EventArgs) Handles cmdOK.Click, 
cmdApply.Click, cmdCancel.Click
For a working example of this ganging up, see the section in this appendix
titled “Control Arrays Are Gone.”
Runtime handles
If you want to get really fancy, you can attach or detach an object’s events to
a procedure during run time. The following example illustrates this. 
Put three buttons on a form. Now create this procedure to handle all three of
these buttons’ Click events:
Private Sub AllTheButtonClicks(ByVal sender As Object, ByVal 
e As System.EventArgs) Handles Button1.Click, 
Button2.Click, Button3.Click
RemoveHandler Button1.Click, AddressOf AllTheButtonClicks
MsgBox(sender.ToString)
End Sub
Press F5 to run this little program and click Button1. The MsgBox appears.
Click Button1 again and nothing happens because Button1’s Click event has
been detached — so this procedure no longer responds to any clicking of
BC68
Visual Basic 2005 Express Edition For Dummies 
Button1. Button2 and Button3 still trigger this procedure. To restore (or create
for the first time) a procedure’s ability to handle an object’s events, use the
AddHandlercommand, like this:
AddHandler Button1.Click, AddressOf AllTheButtonClicks
HasChildren Property
This new property tells you whether the control contains any child controls.
Height
See “ Left, Top, Height, Width, and Move All Change.”
Help System Fails
From time to time, you may notice that when you look up an entry (using
Index, Search, it doesn’t matter) in the VB .NET Help utility, you get an error
message in the right view pane:
The page cannot be displayed
The page you are looking for is currently unavailable. The
Web site might be experiencing technical
difficulties, or you may need to adjust your
browser settings. 
Etc.
It’s the usual browser error message when you travel to an Internet address
that no longer exists.
Or, you may simply see a blank right pane, no error message, and no help
information.
The most likely cause for this problem is a filled browser cache. To cure the
problem, open Internet Explorer, and choose Tools➪Internet Options. On the
General tab (the default) in this dialog box, click the Delete Files button
under Temporary Internet Files. These files will be deleted (which can take
several minutes). Then retry Help, and it should work fine once again.
BC69
Appendix B: A Dictionary of VB .NET
Help (Using)
The .NET Help system can be used in a variety of ways to assist you when
creating VB .NET projects. It’s a significant resource, and it’s becoming more
useful as time goes on (more helpful descriptions, more bug-free source code
examples). 
IDE: The VB .NET Editor
The VB .NET IDE (Integrated Development Environment) is packed with fea-
tures and options. You usually work with a solution, which can contain one or
more individual projects. You can switch between projects, or right-click pro-
ject names to adjust their properties within the Solution Explorer (Ctrl+R).
You get used to the IDE and find your own preferred layout. My main piece of
advice is to right-click the title bar of all the various windows and choose Auto
Hide. That way, the Properties window, Toolbox, Solution Explorer, output
window, and so on are all quickly available (because they’re tabs along the
edges of your IDE). But they don’t cover up the primary work surface: the
Design and code window. You may need to set the Tabbed Documents option
in the Tools➪Options➪Environment➪General menu.
And while you’re looking at the Environment section of the Options menu,
you may want to click the Help section and switch from the default to
External Help. That way, you get a full, separate window for your help
searches rather than letting VB .NET try to fit help windows into your IDE.
Under Tools➪Options➪Text Editor➪All Languages➪General, you want to
select Auto List Members and Parameter Information, unless you have a photo-
graphic memory and have read through the entire .NET class documentation.
These two options are, for most of us, essential: They display the properties
and methods (with their arguments and parameters) of each object as you type
in your source code. Also, while you’re on this page in the dialog box, uncheck
the Hide Advanced Members. That way you get to see everything.
Implements Changes
Before VB .NET
VB 6 and earlier versions could inherit classes using the Implementscom-
mand, but they could not create interfaces directly.
BC70
Visual Basic 2005 Express Edition For Dummies 
Documents you may be interested
Documents you may be interested