Add Any Control to a ToolStrip
The ToolStrip
supports
a wide range of ToolStripItem
classes, allowing you to add everything from buttons and drop-down menus
to text-boxes and labels. However, in some situations you might want to
go beyond the standard options and use other .NET controls, or even
place your own custom controls in the ToolStrip
. In order to make this work, you
need to use the ToolStripControlHost
.
Note
Want to outfit a ToolStrip with a custom control? Thanks to the ToolStripControlHost, you can add just about anything.
How do I do that?
There's no way to add standard .NET controls directly to the
ToolStrip
, because the ToolStrip
only supports classes that derive
from ToolStripItem
. You could
create a class that derives from ToolStripItem
to implement a custom ToolStrip
element, but this approach is
fairly complex and tedious. A much simpler approach is to use the
ToolStripControlHost
, which can
wrap just about any .NET control.
To use the ToolStripControlHost
with a non-ToolStripItem
control, just pass the control
object as a constructor argument when you create the ToolStripControlHost
. Then, add the ToolStripControlHost
object to the ToolStrip
. You can use the code in Example 3-1 to add a CheckBox
control to the ToolStrip.Items
collection. Figure 3-4 shows the result.
Example 3-1. Adding a Checkbox control to a ToolStrip.Items collection
' Create a CheckBox. Dim CheckStrip As New CheckBox( ) ' Set the CheckBox so it takes the size of its text. CheckStrip.AutoSize ...
Get Visual Basic 2005: A Developer's Notebook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.