Click here to Skip to main content
15,888,527 members
Articles / Programming Languages / Visual Basic
Article

Bending .NET PropertyGrid to your will with a Custom Type Editor

Rate me:
Please Sign up or sign in to vote.
2.41/5 (14 votes)
12 Jan 2004 118.5K   950   33   14
Example of using the propertybag class of Tony Allowatt in vb.net with a custom type editor

Sample Image - Propertygrid_Editor_demo.jpg

Introduction

I've had serious trouble doing these two things:

  • Using a propertygrid and having all of its properties (like the names of the properties, and description that is shown) dynamic, in VB.NET
  • Using Tony Allowat's classes (which solves the first problem) with a custom type editor

I finally managed to get things working ... and thought that others amongst you could be having the same problem as I ... So here it is, my working VB.NET version of Tony Allowatt's propertybag classes, implementing a custom type editor.

Background

I didn't write the code of the PropertyBag.vb file ... Tony Allowatt wrote these usefull classes for the propertygrid, but in C#. Read his article first! Bending the .NET PropertyGrid to Your Will

Using the code

I'm not going to explain much in here, as all the serious code has been explained by Tony Allowatt in his article. I only provide an example of how to use his classes with a custom editor.

VB.NET
Public Class MyOwnClass
 ' the class that will be shown in the propertygrid
 ' it has a property of typ MultiLineString
End Class 

Public Class MultiLineString
 ' this is the custom type we'll want to edit in the propertygrid
 ' it's just a class with 1 property, a string, but 
 ' we want a multiline editor for it

 ' ...
End Class

Public Class MultiLineStringEditor
 Inherits UITypeEditor
 ' ...
End Class

Public Class MultiLineStringConverter
 Inherits System.ComponentModel.TypeConverter
 ' ...
End Class

Public Class MultiLineStringEditorForm
 Inherits System.Windows.Forms.Form
 ' ...
End Class

Points of interest

Some interesting links:

History

  • 14-01-2004 - Initial Release

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Belgium Belgium
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralMy vote of 1 Pin
Member 83787696-Oct-13 23:13
Member 83787696-Oct-13 23:13 
GeneralEasier Way Pin
bcryner27-Oct-08 5:48
bcryner27-Oct-08 5:48 
Why can't you just add this attribute?

[Editor(typeof(MultilineStringEditor),typeof(UITypeEditor))]

You will need to add the appropriate references to your project.
GeneralProperties are readonly... Pin
jack zucker28-Apr-05 10:46
jack zucker28-Apr-05 10:46 
GeneralRe: Properties are readonly... Pin
Spooler16-Sep-05 6:06
Spooler16-Sep-05 6:06 
Generalit does not really work Pin
zwark2-May-04 21:53
zwark2-May-04 21:53 
GeneralRe: it does not really work Pin
SoTTo2-May-04 22:45
SoTTo2-May-04 22:45 
GeneralRe: it does not really work Pin
zwark2-May-04 23:00
zwark2-May-04 23:00 
GeneralCollections Pin
TLWallace14-Apr-04 10:55
TLWallace14-Apr-04 10:55 
GeneralRe: Collections Pin
SoTTo14-Apr-04 12:02
SoTTo14-Apr-04 12:02 
GeneralDatabase example, please Pin
huuhaa23-Jan-04 0:42
huuhaa23-Jan-04 0:42 
GeneralRe: Database example, please Pin
SoTTo25-Jan-04 7:44
SoTTo25-Jan-04 7:44 
GeneralFlat Toolbar Look Pin
Tom Spink20-Jan-04 6:29
Tom Spink20-Jan-04 6:29 
GeneralRe: Flat Toolbar Look Pin
Anonymous21-May-04 0:18
Anonymous21-May-04 0:18 
GeneralRe: Flat Toolbar Look Pin
Tom Spink21-May-04 5:42
Tom Spink21-May-04 5:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.