• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 647
  • Last Modified:

TreeView screwed up?

Hy
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?
0
Azmodan
Asked:
Azmodan
1 Solution
 
AzraSoundCommented:
I am unable to reproduce this.  The MouseUp event fires each time I press and release the left mouse button anywhere on the treeview.
0
 
AzraSoundCommented:
Never mind...I am able to see this problem now.
0
 
AzmodanAuthor Commented:
not just press and release
press, move and release


so..same behaviour at your place... :(
this treeview seems worse than the one in VB6
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 
AzmodanAuthor Commented:
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?
0
 
AzmodanAuthor Commented:
(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)
0
 
AzraSoundCommented:
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.
0
 
AzmodanAuthor Commented:
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.
0
 
AzraSoundCommented:
Sounds like something fun to play with, thanks for the info.
0
 
Bob LearnedCommented:
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:

PAQ/Refund

Please leave any comments here within the next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

TheLearnedOne
EE Cleanup Volunteer
0
 
SerCouWisMODCommented:
Question was closed per the recommendation

SerCouWisMOD
Community Support Moderator
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now