I agree that the Me property is less than desirable. Interesting point about transferring it to a Dictionary prior to binding. Hadn't thought of that! Ultimately, I'll probably just follow your advice and subclass ListBox and any other controls that I need to use this in. As I said, it strikes me as odd that this isn't available out of the box. It's surely not that unusual a requirement to be able to use a property of an object as the Value field and the ToString() representation of that object as the Text field and to be able to acheive this via data binding. Any way, your feedback has been most useful and has given me something to dig into. So many thanks for your time. C