- Home
- Products
  WinForms Components
  Better ListView
  Ultimate ListView control for .NET Better Thumbnail Browser
  Thumbnail loading and browsing control for .NET Better SplitButton
  Free customizable dropdown button control Better ListView Express
  Free edition with less features
- Purchase
  Better ListView Better Thumbnail Browser Better SplitButton
- Support
- Articles
- Blog
- Comics
- About Us

# Better ListView: Alternative list view control for .NET

Ideal .NET WinForms (C#, VB.net) replacement list view component. More features, less limitations, fast and optimized.

- Overview
- Screenshots
- Comparison
- Resources
- Story

## The story behind Better Listview

Hi, my name is Jiri Novotny and I'm the founder of Dextronet.com, a software company that operates ComponentOwl.com. Me and my team think of ourselves as independent software vendors (or ISVs).

Surprise surprise - as it is with most independent components today, we did not originally actually intended to create Better ListView.

Our flagship product is Swift To-Do List, a desktop task management software. The old version of Swift To-Do List has been written in Visual Basic 6 which has many limitations, so we've decided to make a total rewrite in VB.NET and C#. The development started in July 2009.

Because Swift To-Do List is highly list-centric product (as the name suggests :-), it soon become apparent that we will need excellent ListView control. The ListView control included in .NET just didn't cut it. Not only its features are very limited, but there are braincracking bugs and strange behavior in lots of cases. In fact, the default .NET ListView was so bad, that I've oftentimes wished I could just use the ListView included in VB6 – it has at least behaved mostly correctly.

So, because we couldn't use the default .NET ListView, I began searching for a replacement ListView control. My requirements were actually not very demanding - I wanted a ListView control that looked and behaved similarly as the one used in Windows Explorer.

Unfortunately, I've soon discovered that in reality, I want lots of things that are not taken for granted in any ListView control that I've found. My requirements for a usable .NET ListView control are:

- It must either inherit from native ListView or mimick it perfectly
- It must use system theme seamlessly and not have some weird inconsistent custom look
- It must support sub-item images flawlessly
- It must have excellent drag & drop support for item reordering
- It must have perfect implementation of selection and drag-selection
- It must support 3 different context menus: For items, column headers, and empty space
- Multi-column sort
- Must not be part of some huge control pack that I need to bundle with my app
- Must be light-weight, fast and optimized
- Must have all bugs and strange behavior of .NET ListView fixed

There was also lot of nice-to-have things that I've looked for, like:

- Watermark text that is shown when the ListView is empty
- Column reordering with auto-scrolling
- 100% managed code
- Better hit-test

I did not want to use any DataGrid-based control, as it can't really replace ListView control – it is much harder to manipulate for the user in most cases, and it doesn't support many things that ListView does.

Swift To-Do List is a mass-market product, so it needed a ListView control that behaved as expected in all cases, no exceptions. The ListView control used in Windows Explorer is a great model: Because every user knows how to work with Windows Explorer ListView already, you can leverage that knowledge in your own applications. Your applications will be truly easy to use and learn.

I've looked over dozen of ListView controls – and I'm not afraid to name them, because they just don't meet the above criteria. The controls I looked over included ListView from SoftGroup, three different open source ListView controls from CodeProject, ListView from Lidor systems, Grid and TreeView-Grid hybrid from DevExpres, WinListView from Infragistics, I've also looked at all ListView controls to be found at CodeGuru and more – basically everything that I could Google and everything from all well-known (or not so well known) component providers.

I was disappointed with every single of these controls. Not one of them met my criteria.

Believe me, I wanted to find the perfect ListView control – after all, I desperately needed it so we could use it in our own product. But what I've found during my extensive research? Nothing. Null. Nilch. Nada. Zero. My heart was broken. The dreams of our awesome Swift To-Do List 7 product started to shatter, because we needed an adequate ListView control first. When it comes to user experience, we simply couldn't settle for anything less than great.

But we haven't given up. The solution? To create our own ListView control. A Better ListView control. It was not originally intended to be a product on it's own, but when it has been finished, it was so good that it would be a sin to keep it selfishly just for ourselves. So we've started selling it. :-)

When we started building our own better ListView control, we wanted it to inherit from System.Windows.Forms.ListView at first. We've tried our best, but some of the bugs of .NET ListView were simply impossible to fix, even with ridiculous hacks. However, luck has shined upon us.

We've met Libor Tinka, a genius C# developer with extensive experience with not just programming in general, but specifically Windows control development as well. He's the author and sole developer of ImagingShop, a powerful digital photography processing desktop application that includes many of his custom controls, and lot's of hardcore mathematics and unique algorithms (It has over 220k lines of code in total!). That guy really is a genius and let me tell you, the code he writes is just beautiful. He's an artist.

When we've asked Libor to create a better ListView control for us, he accepted the challenge.

(By the way, it might look easy at first, but implementing your own ListView control is extremely difficult, daunting and complicated task – there are so many corner cases in the control's behavior that it will make your brain want run away.)

We've worked very closely with Libor during the intensive development process. Fast forward 12 months into the future - Better ListView is done, and Libor is an integral part of our team. We still work together as we support and constantly enhance Better Listview.

Better ListView is now used not just in Swift To-Do List, but also in Libor's own product ImagingShop, so we are truly eating our own dog food. This is your guarantee that we will not stop supporting Better ListView, fixing bugs and implementing new features – it's the core and heart of our own desktop software products after all. We walk the talk.

If Better ListView existed before, I know I would be absolutely positively thrilled about it. And so I hope that you are thrilled about it now that you've found it.

Any questions or comments? I would love to get them. Contact me at novotny (at) dextronet (dot) com

Download Free Trial - With sample projects See Pricing & Licensing

Version 3.15 / May 27, 2015

Seamless integration with .NET 2.0 and higher

See Quick Start Guide

See Documentation

See Class Reference

Receive product updates
and news via email:
Share this page if you like it:

More Screenshots
Download Free Trial - With sample projects See Pricing & Licensing
Free Download See Pricing & Licensing

### Latest From Our Blog

#### Activation issues and how to solve them

Wednesday, 01 March 2017

#### The Three Main Advantages Better ListView has Over the Classic .NET Framework

Thursday, 09 February 2017

#### BLV and Internet Explorer

Sunday, 13 November 2016

#### Centering Images in Better ListView Sub-items

Wednesday, 06 August 2014

#### Sub-item Check Boxes in Better ListView

Sunday, 06 July 2014
See more posts »

- Subscribe to our RSS
- Follow us on twitter

27May

#### Better ListView Express 3.15 released!

Download latest release

27May

#### Better ListView 3.15 released!

Download latest release

27May

#### Better SplitButton 3.15 released!

Download latest release

27May

#### Better Thumbnail Browser 3.15 released!

Download latest release

08Apr

#### Better ListView Express 3.14.0 released!

See what's new or Download latest release

Contact Us (Feedback) | RSS | Twitter | Sitemap | Our task management software that uses Better ListView
Copyright © 2018 ComponentOwl.com, Dextronet.com. All rights reserved. Read our EULA, Disclaimer and Privacy Policy.