[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 210
  • Last Modified:

Recommended approach to using container controls

I am not new to .Net in theory but in practice I am fairly new. I am building an application and I am faced with the typical problem of having N different ways of doing it but have not had sufficient experience with the tool to determine which option is the best. What I am after in this case is the accepted / standard / best way of achieving what I want to acheive.

Here is what I want to do.

I have an application that has the following interface

+----------+---------------------------+
|             |                                   |
|             |                                   |
|             |                                   |
|      A     |              B                   |
|             |                                   |
|             |                                   |
+             +---------------------------+
|             |                                   |
|             |             C                    |
+----------+---------------------------+

A = Tree Control
C = Static window that can have other controls placed on it (height of C is fixed but can vary on the width on a resize)
B = Something that can contain another control created at runtime.

The question is about B and C

First B:

I need to be able to dynamically create a control and place it in the area defined by B. The control will need to resize when the window resizes and/or when the slider (between the tree control and B/C) is moved. The main point here is I need some sort of parent entity that handles the resize of the dynamically created control - I don't want to have to handle the resize event in every control I create.

Along the lines of
In The ParentContrl
OnResize
  GetChildObject
  UpdateChildClientArea
  ResizeChild

What would be the best solution here?

Second C:

This will be used to contain 1 or more dynamically created controls like buttons and text boxes. Again I need something to contain these controls.

No need to post source code - unless you really want to - I am looking for the theory rather than the practice.
0
Julian Hansen
Asked:
Julian Hansen
1 Solution
 
CrazyIvan007Commented:
Create three Panels,

set A to Docking Left
set B to Docking Fill
set C to Docking Bottom

Then put your Treeview on Panel A

To resize the control in Panel B fetch the Resize Event of Panel B (or if its just a TreeView or ListView it will resize automatic)

You should think about to set Splitter between the Panels. For that create a new Panel Parent_BC where you have to set this Panel at the right Side of Panel A.

Step:

Create Panel A - Docking Left
Create Splitter - Set Docking to Right
Create Panel Parent_BC - Docking Fill
Create Panel C on Parent_BC - Docking Bottom
Create Splitter - Set Docking to Bottom
Create Panel B on Parent BC - Docking Fill

0
 
Julian HansenAuthor Commented:
Thanks CrazyIvan - that got me started nicely.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

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