Click here to Skip to main content
11,409,097 members (68,363 online)
Click here to Skip to main content


, 2 Feb 2004
Rate this:
Please Sign up or sign in to vote.
A treeview control that drops down much like a combobox.

Sample Image


The ComboBoxTree control expands on Gevik Babakhani's DropDown Treeview control. Nearly 85% of the code has been rewritten. This updated control provides the following enhancements:

  • Treeview can be sized beyond the width of its parents and the form.
  • The sizing grip functionality is more consistent with standard Windows sizing grips.
  • Node selection populates the box when it is a root node, the SelectionSeparator property assigns the separator (i.e. a SelectionSeperator that is a period '.' would generate something like: Node0.subnode1.subnode2.rootnode).
  • Better design-time support including the standard treeview WYSIWYG editor.
  • The selected node box is editable and accessible as a property - however there is no validation on this value when set manually.
  • Simplified, by using regions and less method calls.

Please feel free to post comments, questions or criticism. This is my first Windows control, so feedback is appreciated.


I needed a control for a project that required multiple treeviews but had very limited form space. When I found Gevik's DropDown TreeView, I was relieved to find what I was looking for but soon ran into problems that required attention and hours of code updating.

Originally, I didn't intend to redistribute the updated control, but I wanted to give back as a way of saying thanks. Thanks goes out to The Code Project and the original author - thanks Gevik Babakhani Wink | ;-)

To use the control, simply add the ComboBoxTree.dll file to your toolbox and drop the control onto your form. The control should provide most of the treeview functionality you require.

Points of Interest

I was able to get around the "sizing beyond parent" problem by adding the treeview to its own borderless form. My next problem involved making the sizing grip work correctly. I was able to get this going by calculating the offset of the mouse within the sizing grip along with the absolute mouse position and the location of the form containing the treeview. My final big problem was the sizing grip when scroll bars showed. Disabling scroll bars wasn't a solution so my only alternative was to add a margin of space on the bottom and right-hand side. A bit different but definitely functional!


  • 01/26/04 Version 1.0 submitted.
  • 02/02/04 Version 1.2 submitted, changes include:
    • Text property is now overridden.
    • AbsoluteChildrenSelectableOnly property option now available, users can now select end nodes only or all nodes.
    • Public ValidateText method now available to validate manually entered text.
    • SelectionSeparator now called BranchSeparater.
    • Minor toolbox category changes.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Gabe Anguiano

United States United States
No Biography provided

Comments and Discussions

QuestionNo NodeSelectEventHandler event? Pinmemberlocketine17-Dec-12 15:07 
QuestionCan't change size PinmemberMVictorL18-Nov-12 23:09 
QuestionHandling the Enter key PinmemberMember 390355925-Oct-12 11:55 
QuestionHow to show image of the selected tree item in combobox PinmemberRui Frazao9-Jun-10 7:07 
GeneralCheckbox With Every Node PinmemberFarid_Bilal26-Feb-09 21:58 
Hi gabe First Of All Great Great Article..
I am new to This One .. I am using ur control with little bit modification and conversion in . now i want a checkbox with every node (parents/childs) so the selected text coe with only the nodes with checked checkboxes . i treid alot but didnt got any solution coz there is no checkboxes property available with the control as the normal window contrl treeview components contains .. could u please give any suggestion,solution or any idea ???

Thanks In Advance

QuestionHow to populate tree with data from datatable ? Pinmemberloverboy2312-Jul-08 4:49 
QuestionHow can i get DropDownStyle like combobox? PinmemberMember 137660010-Apr-08 4:07 
GeneralBranchSeparator as String, DropDownHeight, ... Pinmemberfraveu27-Sep-07 10:53 
GeneralRe: BranchSeparator as String, DropDownHeight, ... Pinmemberfraveu27-Sep-07 10:55 
GeneralFlatStyle System Pinmemberjake07223-Aug-07 11:30 
GeneralRe: FlatStyle System PinmemberLAcike@sk1-Jul-08 0:40 
GeneralAfterSelect event Pinmembermayank_max104-Jun-07 7:50 
GeneralRe: AfterSelect event Pinmembermayank_max4-Jun-07 10:07 
GeneralRe: AfterSelect event Pinmembermayank_max4-Jun-07 10:13 
GeneralRe: AfterSelect event PinmemberJossGP12-Oct-07 0:41 
QuestionHow to sort the ComboBoxTree Pinmembersatisht23-May-07 21:18 
GeneralNeed this in [modified] - no longer needed PinmemberVortran9-Oct-06 11:51 
GeneralBug Deteced !! PinmemberH1berto Ferreira3-Jan-06 2:44 
Generalform lostfocus problem PinmemberTurboWang10-Mar-04 15:50 
GeneralRe: form lostfocus problem PinmemberGabe Anguiano12-Mar-04 10:59 
GeneralExcellent ! PinmemberBillWoodruff10-Feb-04 16:52 
GeneralButton on title bar Pinmembersylvain22223-Feb-04 4:05 
GeneralRe: Button on title bar Pinmemberasm433-Feb-04 8:10 
GeneralRe: Button on title bar PinmemberGabe Anguiano3-Feb-04 12:46 
GeneralYou can find many useful ideas in my control too :) PinmemberAlex Kucherenko2-Feb-04 22:51 
GeneralRe: You can find many useful ideas in my control too :) PinmemberGabe Anguiano3-Feb-04 12:40 
Generalnice functionality except you have to select end node PinmemberAshley van Gerven28-Jan-04 22:47 
GeneralRe: nice functionality except you have to select end node PinsussGabe Anguiano (obsidience)29-Jan-04 8:23 

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 | Terms of Use | Mobile
Web03 | 2.8.150414.5 | Last Updated 3 Feb 2004
Article Copyright 2004 by Gabe Anguiano
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid