Click here to Skip to main content
Click here to Skip to main content

ListView Watermark in VB.NET

, 26 Oct 2013
Rate this:
Please Sign up or sign in to vote.
Code to add a watermark to a ListView using the LVBKIF_TYPE_WATERMARK flag

Vista Themeing Enabled
Vista Themeing Disabled
Windows Vista/Windows 7 Screenshot

Update

  • Added the code suggested by rojaldearintok
  • Also, no longer ignores item background color. However, the item's background color will appear transparent, so that the watermark will still show through.
  • Added a property called UseVistaThemeing

Changes as of September 02, 2013

  • Added property called ShowFocusRectangle - Haven't figured out how to Show/Hide the focus-rect during Run-time. Must be set at design-time.

  • Bug Fixed: Horizontal Scrolling leaving a white space. No longer does this. Problem lay in the ItemDraw Event where I was setting the draw area to the ClientRectangle.Width. Now checks to see if the Item's Rectangle.Width is larger or less than the ClientRectangle.Width.

Changes as of October 26, 2013

  • Added property UseLedgerStyle, LedgerStyleDarkColor, LedgerStyleLightColor, ColumnSortIndex, ColumnSortOrder, ColumnSortStyle.

    1. UseLedgerStyle: Set to true to show a list of items with alternating colors per row
    2. LedgerStyleDarkColor: Color of an even numbered index
    3. LedgerStyleLightColor: Color of an odd numbered index
    4. ColumnSortIndex: Index of the Column to sort by
    5. ColumnSortOrder: Indicates how to sort the items. Ascending/Descending
    6. ColumnSortStyle: What to sort by (Image, Text, or Checkbox)
  • Added SubItemClick, and SubItemDoubleClick Events:
    1. SubItemClick: Fires when a subitem is clicked. EventArgs has property that indicates the subitem that was clicked along with its owner Item.
    2. SubItemDoubleClick: Fires when a subitem is Doubleclicked. EventArgs has property that indicates the subitem that was clicked along with its owner Item.
  • Changed project name to ProjectListview, since this has become a collaboration of code.

Changes as of January 2, 2014

  • Fixed bug with ledgerstyledarkcolor being present at runtime when switching ledgerstyle on/off after setting the watermark image. (I've had this update done for a while, but got really busy with work and hadn't had the time to upload it.)

Future Plans

Special Column Types: checkbox, progressbar, etc. ColumnHeader themeing. FixedColumnWidth.

Introduction

This code uses the LVBKIF_TYPE_WATERMARK flag of LVBKIMAGE to put a watermark in the lower right corner of a ListView control.

Using the Code

The zip file above includes a class that inherits the ListView. Add the class to your solution, and build the solution. In the control's toolbox, you'll see the cListView added. Drag one onto the form and set its WatermarkImage property to the desired image you want. Also, set the WatermarkAlpha property to the desired translucency. It will support any image file that VB.NET can open. It will automatically convert the image to the needed bitmap.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

clwprogrammer

United States United States
No Biography provided

Comments and Discussions

 
GeneralThanks Bro Pinmemberrojaldearintok20-Jan-14 3:38 
Bugbug Pinmemberrojaldearintok8-Nov-13 7:25 
SuggestionSuggestion: Add Column Sorting and Alternate Rows, (maybe some bugs) Pinmemberrojaldearintok6-Oct-13 3:10 
BugBug Found Pinmemberrojaldearintok2-Sep-13 7:27 
GeneralRe: Bug Found Pinmemberclwprogrammer2-Sep-13 14:57 
QuestionUPDATED!!!!! Pinmemberclwprogrammer30-Aug-13 4:48 
AnswerRe: UPDATED!!!!! Pinmemberrojaldearintok31-Aug-13 22:38 
GeneralRe: UPDATED!!!!! Pinmemberclwprogrammer1-Sep-13 13:27 
AnswerRe: UPDATED!!!!! Pinmemberrojaldearintok2-Sep-13 3:55 
GeneralAdd some code hope you dont mind, to have a Vista theme Pinmemberrojaldearintok29-Aug-13 7:14 
GeneralRe: Add some code hope you dont mind, to have a Vista theme Pinmemberclwprogrammer29-Aug-13 12:13 
QuestionListviewitem backcolor ignored... PinmemberMCS_Erik14-Nov-11 0:18 
AnswerRe: Listviewitem backcolor ignored... Pinmemberclwprogrammer14-Nov-11 21:28 
GeneralMy vote of 5 Pinmemberswdev.bali6-Nov-11 18:27 
QuestionOn Windows 2003 Pinmemberjuansossa29-Oct-09 3:28 
AnswerRe: On Windows 2003 Pinmemberclwprogrammer29-Oct-09 10:41 
QuestionSimilar, but for Textboxes? PinmemberJohnny J.8-Oct-09 1:13 
GeneralSome Information Pinmemberclwprogrammer20-Sep-09 10:40 
General[My vote of 2] good find PinmemberDonsw12-Sep-09 16:24 
Generalwow ... PinmemberFidoDildo31-Aug-09 1:03 
GeneralRe: wow ... Pinmemberclwprogrammer31-Aug-09 8:56 
GeneralRe: wow ... PinmemberFidoDildo31-Aug-09 20:24 
GeneralRe: wow ... Pinmemberclwprogrammer1-Sep-09 6:17 
GeneralA change in the GetBMP Function in the extended control's code. Pinmemberclwprogrammer14-Aug-09 23:00 
GeneralAbout the BMP.Dispose Pinmemberclwprogrammer6-Aug-09 9:18 

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

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

| Advertise | Privacy | Mobile
Web01 | 2.8.140827.1 | Last Updated 27 Oct 2013
Article Copyright 2009 by clwprogrammer
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid