Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. I need a horizontal tree control

I need a horizontal tree control

Scheduled Pinned Locked Moved C#
data-structuresquestion
4 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    MtnBiknGuy
    wrote on last edited by
    #1

    I need a horizontal tree control that would look like all the trees one sees in data structures textbooks, but have all the usual functionality (check boxes, drag/drop, etc.) Does such a thing exist? The root would be center/top. Nodes would grow down to the left or right. Leaves would all be at the bottom. How hard would it be to convert a std tree control into a horizontal one?

    H 1 Reply Last reply
    0
    • M MtnBiknGuy

      I need a horizontal tree control that would look like all the trees one sees in data structures textbooks, but have all the usual functionality (check boxes, drag/drop, etc.) Does such a thing exist? The root would be center/top. Nodes would grow down to the left or right. Leaves would all be at the bottom. How hard would it be to convert a std tree control into a horizontal one?

      H Offline
      H Offline
      Heath Stewart
      wrote on last edited by
      #2

      It would be very hard - and probably incredibly stupid - to make the "standard" tree control do such a thing. First of all, the .NET tree control is actually the SysTreeView32 common control in Windows, wrapped in a class for easy use with .NET. With this in mind, you have to go very low-level to change such behavior. Since you're changing so much, however, it'd be much easier to do this from scratch in a completely managed solution. What you're describing, however, is common in organization charts. You could try searching for an existing organization chart control in .NET, which may help in constructing a more generic tree with the behavior you want. I can't think of any off-hand, but I'm willing to bet there's a few around - perhaps even here on CodeProject.

      -----BEGIN GEEK CODE BLOCK----- Version: 3.21 GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++ -----END GEEK CODE BLOCK-----

      M 2 Replies Last reply
      0
      • H Heath Stewart

        It would be very hard - and probably incredibly stupid - to make the "standard" tree control do such a thing. First of all, the .NET tree control is actually the SysTreeView32 common control in Windows, wrapped in a class for easy use with .NET. With this in mind, you have to go very low-level to change such behavior. Since you're changing so much, however, it'd be much easier to do this from scratch in a completely managed solution. What you're describing, however, is common in organization charts. You could try searching for an existing organization chart control in .NET, which may help in constructing a more generic tree with the behavior you want. I can't think of any off-hand, but I'm willing to bet there's a few around - perhaps even here on CodeProject.

        -----BEGIN GEEK CODE BLOCK----- Version: 3.21 GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++ -----END GEEK CODE BLOCK-----

        M Offline
        M Offline
        MtnBiknGuy
        wrote on last edited by
        #3

        That's an excellent tip. Thanks! Dave

        1 Reply Last reply
        0
        • H Heath Stewart

          It would be very hard - and probably incredibly stupid - to make the "standard" tree control do such a thing. First of all, the .NET tree control is actually the SysTreeView32 common control in Windows, wrapped in a class for easy use with .NET. With this in mind, you have to go very low-level to change such behavior. Since you're changing so much, however, it'd be much easier to do this from scratch in a completely managed solution. What you're describing, however, is common in organization charts. You could try searching for an existing organization chart control in .NET, which may help in constructing a more generic tree with the behavior you want. I can't think of any off-hand, but I'm willing to bet there's a few around - perhaps even here on CodeProject.

          -----BEGIN GEEK CODE BLOCK----- Version: 3.21 GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++ -----END GEEK CODE BLOCK-----

          M Offline
          M Offline
          MtnBiknGuy
          wrote on last edited by
          #4

          I think an org chart control would do what I need. I searched on Google and CodeProject, and I only found one org chart component: http://www.anextech.com/AnexTree.htm If anyone has other suggestions, I appreciate them. I don't mind purchasing a good control, but I would like to get source code with it. The above control doesn't include source. Otherwise, it's pretty much what I was looking for. Thanks.

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups