Create a movable, resizable, collapsable/expandable Group Control (similar to the Windows GroupBox control) based upon the Developers Express GroupControl control.? The requirement for it to be based upon the DevExpress ([[url removed, login to view]]) control is so that it can integrate into an existing project that uses DevExpress controls (and so that the skins and themes support? do not have to be recreated).? The deliverable is an extended DevExpress control that can be moved and resized on a Windows form at runtime with some additional capabilities? including collapse/expand the main panel (via a small header button), optional menu button in the header, and ability to drag and drop other controls into the main panel.
Note that the DevExpress controls can be download and used on a demo basis for development purposes.? They display a nag screen but otherwise are 100% functional.? Use of the demo controls is fine.? If necessary I can provide the source code for direct extension.
The runtime movability of the new GroupControl needs to be turned on/off via property or method.? Movability can be via a move handle or popup mini-icon.? Runtime resizing will need a "handle" displayed in the bottom right hand side of the group control when in resize mode (via a on/off property).? Other move and resizing GUI indicators can be considered.
The new Group Control needs to be able to co-exist with other instances of the new Group Control on the same form (i.e. this should not be an issue).? Overlapping of the new controls is allowed (i.e. does not have to be specifically prevented)...But if you can add this as an option please advise and quote on it.? That may require a controller to be added to the form and thus is extra work and cost.
The collapse/expand functionality is just a small button in the header that displays a collapse icon and alternately an expand icon and collapses the main group control panel and then displays it.? DevExpress does not at present have this capability and does not plan to implement it.? This is similar to other commercial groupboxes and controls on the market.
The drag and drop is to be able to add controls during runtime to the main panel.? These are standard Windows and DevExpress controls and should not have to be altered to be used in drag and drop.? The demo program just has to implement a single control (a button) to demonstrate this.
I'm looking for simple, non-complex code in a user control here.? Please do not go overboard with overly complex Object Oriented coding practices!? And the code must be readable for someone with intermediate C# coding skills.? I require some minimal documentation, text form, that simply lists the newly implemented properties and methods (and any limitations or useful notes).? The demo program should have comments where generally appropriate (and the code should be essentially self-explanatory to a person with intermediate skills in C#).