Solved

Recommended approach to using container controls

Posted on 2004-10-02
2
201 Views
Last Modified: 2010-04-15
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
Comment
Question by:Julian Hansen
2 Comments
 
LVL 1

Accepted Solution

by:
CrazyIvan007 earned 500 total points
ID: 12207661
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
 
LVL 51

Author Comment

by:Julian Hansen
ID: 12212365
Thanks CrazyIvan - that got me started nicely.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
What is MicroStrategy.NET? 2 47
the name DateAdd does not exist in this context 2 36
Hide Tab Page 3 20
fomat Json objects 6 18
This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now