VisualHint's blog

A new logo for VisualHint

I’m happy to unveil the new VisualHint identity. It is based on the old logo but now features a brand new look that I find far more attractive, dynamic and professional. It precedes the conception of a new web site that will bring together the existing library for MFC and the new one for .Net. [...]

Visual Studio 2005 released

I downloaded a copy of the express edition yesterday and I am happy that the Smart PropertyGrid library compiles well. First tests show no crashes also. I encourage you to continue your beta testing under the official release. [...]

DateTimePicker, PropertyGrid and BackColor wedding

The Microsoft PropertyGrid doesn’t use the DateTimePicker control to edit a date. It uses a simple dropped down month calendar and therefore it is not even possible to edit a time only. This was the indication of a challenge for me. If you do a search with the keywords "DateTime BackColor" on the web and on the newsgroups you will find a lot of posts asking how to change the BackColor of a DateTimePicker control as well as answers saying that it is not so obvious and that you could try this way [...]

How to manage the appearance of a default value

The Microsoft PropertyGrid has a built-in mechanism to handle default values: it displays them by using a non-bold font while the other properties are painted with the bold style. The Visual Studio designer also proposes a menu to reset a property to its default value. I could have done the same in SPG but this would not be very flexible. Some people, like I did in a C++ application recently, will want for example to display a very subtle different background for non default values. Or maybe [...]

Download a sample application

I have published today a sample application. In fact this is my test program that showcases almost every feature of the PropertyGrid. At the same time, I have updated the SmartPropertyGrid assembly to build 2 since a dozen of bugs have been fixed. Download it now [...]

Multiple values in a row

Here is the third post of the set I promised previously: To store multiple variables in a single property is a new concept brought by SPG. I wanted to do it when a customer who bought the MFC version asked me if it was possible to have in one row a double value and its associated unit. Although it was feasible with some work it was not instantaneous, and even if this customer achieved to do it I decided to implement a built-in mechanism in the .NET version. And finally this is done. Here is a [...]


I’m still here and very active. Because several people asked me the status of the library by mail, here are the very uninteresting reasons of my silence: first some family came here then I took some vacations and very recently I had a major computer crash with data loss. I only got it back from repair some days ago. When everything is restored, I will finalize the evaluation of an obfuscator. [...]

Properties auto-discovery

Here is the second post of the set I promised previously: The strength of SPG is that you can really work with it at run-time. You will be able to add, remove, move and delete properties with very few lines of code. The appearance and the way to edit these properties can also be changed easily. But to be complete, the existing way of showing properties in the grid has still to be available. Right now, this is done with the SelectedObject Property. It means, among other things, that all the [...]

Short term plans

Sorry not to have posted during several days. Things continue to progress though. The main thing is that I have frozen the development because I am now working heavily on the documentation for the API. NDOC does not fully recognize C# 2.0 but nevertheless I can work with it and preview my progress. Once I am satisfied with it, I will publish an alpha release so that you can play with the PropertyGrid. From the discussion that will result, I will continue the development and create a beta [...]

Visual C# Express beta2

Just installed it yesterday and everything seems fine with the current code. I had only one compile error and it deals with MaskedTextBox.InputText. This property simply disappeared and this is a real annoyance for me. I currently have a workaround. Let me explain my concern: In a previous post, I showed an example with a phone number. It is stored as a string variable that doesn't contain the characters of the mask, i.e. 5551234567 and not (555)123-4567. When the user edits the variable I want [...]