Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


TreeView screwed up?

Posted on 2002-07-05
Medium Priority
Last Modified: 2006-11-17
I put on a form a TreeView
on the TreeView MouseUp event, I put a Console.WriteLine("m up");

The mouseUp events seems to come up at the wrong times.
- If I click on a node, the mouseUp comes imediatly after i move the mouse (like a mouseMove).
- If I click on blank space, not on any node, the mouseUp events comes when I press the mouse button(like a mouseDown).

Could someone verify this? Is the treeview.net screwed up?
Question by:Azmodan
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 28

Expert Comment

ID: 7132073
I am unable to reproduce this.  The MouseUp event fires each time I press and release the left mouse button anywhere on the treeview.
LVL 28

Expert Comment

ID: 7132077
Never mind...I am able to see this problem now.

Author Comment

ID: 7132095
not just press and release
press, move and release

so..same behaviour at your place... :(
this treeview seems worse than the one in VB6
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!


Author Comment

ID: 7137597
it there a way to hook in c#?
hook.. i mean to get the windowproc for a control's handle and watch for windows system messages?

Author Comment

ID: 7139844
(i wrote to MS and thay responded that "This is a known problem with the TreeView control in version 1.0 of the .NET Framework.")

question remains.. how can I hook for windows messages? (to look for WM_PAINT or WM_LBUTTONUP)
LVL 28

Expert Comment

ID: 7140608
With regards to VB, sublcassing/hooking can be accomplished the same as it is in previous versions using Windows API.  If you just want to translate that code over to C#, I can point you to a link.  I'm not sure if .NET provides any new, simpler method for performing this task.

Author Comment

ID: 7140644
a..yes, it does. :) found it in the meantime :)

in every control there is a protected method WndProc that is the actual WindowProc for that control. So this method is called for each and every message the control receives.
U just need to inherit the control and play with the messages.
This way u can override the MouseUp event. And call it when u find the WM_LBUTTONUP event.(didn't do it yet, but it shouldn't be very hard).

The problem still remains, the Tree is screwed up and MS admited this.
LVL 28

Expert Comment

ID: 7140756
Sounds like something fun to play with, thanks for the info.
LVL 96

Expert Comment

by:Bob Learned
ID: 9393276
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:


Please leave any comments here within the next seven days.


EE Cleanup Volunteer

Accepted Solution

SerCouWisMOD earned 0 total points
ID: 9441908
Question was closed per the recommendation

Community Support Moderator

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question