WinForms: ListView with Multi-lined tool-tips for SubItems

If you’ve worked with ListViews in WinForms before, you might have encountered the discouraging fact that the default ListView does not support multi-lined tool-tips for SubItems. For this to work, you have to create a custom control that inherits from ListView, and make some nasty calls to P/Invoke. Here’s how this can be achieved: As … Read more

Windsor: Loading installers from the execution folder

When using Windsor, it is necessary to load the various IWindowsInstallers into the container. One standard way of doing this is using a code similar to the below: The above code will load all the Installers that are located in the execution folder. However, in certain cases, when your code is running in different contexts, … Read more

Windsor Factories and Obfuscation

I love Windsor – it’s simplicity yet versatility amazes me every time I use it. In my last project, I’ve used it, along with the TypedFactoryFacility in order to late-resolve some objects. The resolved object required some parameters to be passed to the CTOR – nothing too complex – you just create an anonymous type … Read more

IRibbonExtensibility needs to be ComVisible

When developing an Outlook add-in using VSTO 4, if you are implementing the IRibbonExtensibility interface (for customizing a Ribbon, for example) you might encounter cases where your Ribbon or menu items don’t appear in Outlook’s UI. In those cases, you should check the following things first: Your XML is valid – invalid Ribbon XML will … Read more

WordprocessingML: Part 2

In the first part of this series, we’ve created a simple WordprocessingML document, and added some basic content to it. It is now time to add some formatting, to make that content presentable. In this part we’ll focus on the two basic methods to modify the formatting of text: Runs properties Paragraph properties More advanced … Read more

WordprocessingML: Part 1

Let’s start with a public notice: Most of the OpenXML/WordprocessingML samples I’ve found work with TextWriters, and just write XML strings into the writer. Me, being the funny guy I am, prefer to work with XmlWriters. This makes sure I make no structure mistakes in the XML itself, allows me to generate well-formatted XML (useful … Read more

WordprocessingML to the rescue

I’ve recently found myself in need to create documents out of various sources (other documents, information from ECM system, and so on). I’ve tried several approaches, including: My first try was with the Microsoft Word Object Model, but encountered several bumpers: The complexity of the object model, the requirement of having Microsoft Word installed on … Read more

Retrieving Documentum repeating values

Documentum provides the functionality of repeating properties – properties that have more than one value. Retrieving those values is a simple matter of getting the number of values for that property, and then request each one of the values. Here’s a small utility method: