.NET

.NET

Reply
Valued Contributor
GrzesiekGP
Posts: 67
Registered: ‎02-03-2012
Message 1 of 4 (469 Views)

Expand/collapse custom palette's group - how?

469 Views, 3 Replies
11-28-2012 07:26 AM

Hello!

 

I'm writing code that able user to show my custom palette.

Everything is working fine, but ... I want to make some of my groupbox to be expandable/collapsible, like here (3D visualization):

http://through-the-interface.typepad.com/.a/6a00d83452464869e20112796dc86628a4-pi

 

I think that using groupbox control is bad idea, so how can I make some container with my controls (label and textbox) and make this container expandable/collapsible?

 

Thanks.

 

Mentor
khoa.ho
Posts: 224
Registered: ‎09-15-2011
Message 2 of 4 (460 Views)

Re: Expand/collapse custom palette's group - how?

11-28-2012 08:44 AM in reply to: GrzesiekGP

Hi,

Standard Windows Forms does not have the expand/collapse control, the available GroupBox control is static, not collapsible. WPF has the Expander control that can expand/collapse its panel.

There are many code resources to build a collapsible panel in C# Windows Forms. I found some links (http://visualstudiogallery.msdn.microsoft.com/40b89fc7-80fa-4e95-b707-506084f51d6b, http://jfblier.wordpress.com/2011/02/16/window-form-expander/) are good. You can reuse the user control from this project to add to your custom palette. It's open license so you can modify to meet your need. Another option is to use commercial third-party libraries but they are heavy unnecessary with external reference DLLs. It's better to use lightweight custom user controls.

-Khoa

Valued Contributor
GrzesiekGP
Posts: 67
Registered: ‎02-03-2012
Message 3 of 4 (455 Views)

Re: Expand/collapse custom palette's group - how?

11-28-2012 09:04 AM in reply to: khoa.ho

I know that GroupBox is a static Window's control.

 

I didn't know how to name it, so I used "groupbox" and image which shows what I mean - there is lots of this collapsing panel in standard AutoCAD's palettes and I think that under 2007 there wasn't WPF yet.

 

Thanks.

Mentor
khoa.ho
Posts: 224
Registered: ‎09-15-2011
Message 4 of 4 (449 Views)

Re: Expand/collapse custom palette's group - how?

11-28-2012 09:45 AM in reply to: GrzesiekGP

AutoCAD uses C++ MFC controls in ObjectARX plug-ins to show those collapsible panels in palettes. The used C++ class is CMFCPropertyGridProperty (I guess so). The equivalent control in .NET is PropertyGrid that groups properties in collapsible trees. In Visual Studio Toolbox, look for PropertyGrid and drag it to the user control (that will be placed to the custom palette). The PropertyGrid stores custom properties in group hierarchy, and they can expand/collapse. But it may not allow to add controls like buttons (you can try).

-Khoa

Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Announcements
Do you have 60 seconds to spare? The Autodesk Community Team is revamping our site ranking system and we want your feedback! Please click here to launch the 5 question survey. As always your input is greatly appreciated.