Author: amr
-
Custom Controls Design Time Support Part 12: Adding SmartTag
One more advantage you get from building a custom designer for your custom controls is that you can add smart tag panel to add important most used properties and methods. What is a Smart Tag? SmartTag is one of the new enhancement of VisualStudio 2005 design time and VS 2008 as well. Smart tags are…
-
Custom Controls Design Time Support Part 11: Designer Verbs
This post is simple and neat, the goal now is to add some designer verbs, so lets get straight. What is a Designer Verb? A designer can use the DesignerVerb class to add menu commands to the shortcut menu for the component it provides designer support for in design mode. Designer verbs associate a menu…
-
Custom Controls Design Time Support Part 10: Filtering Control Members
As I mentioned in introducing the Designer post that one of the designer powers is filtering the control members, filtering here means removing or adding members (Properties, Events or Attributes) to the DesignTime Environment in the PropertyWindow. The IDesignerFilter interface has the methods that enable filtering the members that appear in the Design time PropertyWindow. The…
-
Custom Controls Design Time Support Part 9: Introducing the Designer
What is a Designer? Designers are objects that have the ability to modify a component’s design time behavior on a design surface. A designer can display a component’s user interface as well as allow property changes to the component. It can also provide other services and perform additional processing specific to the component it is…
-
Custom Controls Design Time Support Part 8: Implementing UITypeEditor
In the previous post I gave a brief introduction on what is a UITypeEditor and what you can get from using it, this part I will show you how to implement one. So here are the steps: Define a class that derives from System.Drawing.Design.UITypeEditor. Override GetEditStyle to return a supported UITypeEditorEditStyle. Override EditValue and pass…
-
Custom Controls Design Time Support Part 7: UITypeEditor Introduction
In the previous posts in this series I introduced how to use some basic and advanced Attributes and how to add an image for your control to appear in the toolbox and then I gave an introduction on TypeConverters and examples here and here on how to use the TypeConverters. Now I will give an introduction…
-
Custom Controls Design Time Support Part 6: Custom TypeConverter 2
The last post in the series I have showed you how to implement a custom TypeConverter and override some of the virtual methods from the base class. In this post I'll show how to some more advanced examples on how to get the most of TypeConverters. First look at the strucure of the example. [more] …
-
Custom Controls Design Time Support Part 5: Custom TypeConverters
In the previous post I gave an introduction on common TypeConverters and how to use them, in this post I will show you how to implement custom TypeConverters for your own custom data types. First, lets explore the TypeConverter base type virtual methods … Method Description CanConvertFrom Returns a Boolean value indicating whether the converter…
-
Custom Controls Design Time Support Part 4: TypeConverters Introduction
I mentioned in my Introduction post of this series the TypeConverters Overview: For those who don't know what is a TypeConverter you can expect that it is something responsible to convert between types, there are times when you need to convert from one data type to another. Type converters are classes that describe how a…
-
Custom Controls Design Time Support Part 3: Adding Image in the Toolbox
Attributes Applied To Description ToolboxBitmap Controls Allows you to specify an icon to represent a control in a container, such as the Microsoft Visual Studio Form Designer. » ToolboxBitmapAttribute if you want to redistribute your custom control you should use this attribute to add an icon to it. [code:c#] [ToolboxBitmap(typeof(Button))] public class ButtonEx : Button…