Click here to Skip to main content
15,940,680 members
Home / Discussions / C#
   

C#

 
GeneralRe: How to manage dinamically generated user controls? Pin
BillWoodruff11-Feb-18 22:52
professionalBillWoodruff11-Feb-18 22:52 
GeneralRe: How to manage dinamically generated user controls? Pin
OriginalGriff11-Feb-18 23:06
mveOriginalGriff11-Feb-18 23:06 
GeneralRe: How to manage dinamically generated user controls? Pin
BillWoodruff12-Feb-18 0:24
professionalBillWoodruff12-Feb-18 0:24 
GeneralRe: How to manage dinamically generated user controls? Pin
OriginalGriff12-Feb-18 0:37
mveOriginalGriff12-Feb-18 0:37 
GeneralRe: How to manage dinamically generated user controls? Pin
BillWoodruff12-Feb-18 2:00
professionalBillWoodruff12-Feb-18 2:00 
GeneralRe: How to manage dinamically generated user controls? Pin
OriginalGriff12-Feb-18 2:07
mveOriginalGriff12-Feb-18 2:07 
GeneralRe: How to manage dinamically generated user controls? Pin
BillWoodruff12-Feb-18 5:44
professionalBillWoodruff12-Feb-18 5:44 
AnswerRe: How to manage dinamically generated user controls? Pin
BillWoodruff11-Feb-18 21:40
professionalBillWoodruff11-Feb-18 21:40 
In the last ten years, I think I've written about ten variations on this type of control Smile | :)
Key point: Controls added to a ControlCollection and docked 'Top followed by the use of 'BringToFront on the Control will be added beneath other controls. When one of these controls is removed/deleted, the other Controls will rearrange so that the order is maintained.
I suggest:

0. in the 'ToDo UserControl: expose only the UI elements through public properties initialized in the constructor.

1. make a second UserControl called 'ToDoContainer:

a. put a Panel, docked 'Top, in it to hold UI elements that affect instances of the 'ToDo controls, like a Button to add another ToDo.

b. add a second Panel to 'ToDoContainer, docked 'Fill, with 'AutoScroll 'true.

When the add Button on the top Panel is clicked:

a. create the ToDo instance:

a.1. set event handlers for the ToDo close-button Click, and checkbox CheckStateChanged, events.

a.2. add the new ToDo to the controls of the second Panel.

a.3. call the 'BringToFront method on the new ToDo: this will add it to the bottom of any other ToDos displayed in the Panel.

Of course, you will probably want to expose Events in the container for external consumers of your code, like: ToDo added, ToDo deleted, ToDo activated/de-activated, etc.

And, some nice features to add are:

1. highlight the current/selected/active ToDo visually

2. use color in some way to indicate priority

3. implement keyboard handling to navigate in ToDo collection.

4. implement sorting of ToDos by criteria like date, priority, etc.

Suggestion: by making add and close/delete ToDo a result of the user using the top panel controls, you can keep the ToDo control itself simpler.
«... thank the gods that they have made you superior to those events which they have not placed within your own control, rendered you accountable for that only which is within you own control For what, then, have they made you responsible? For that which is alone in your own power—a right use of things as they appear.» Discourses of Epictetus Book I:12


modified 12-Feb-18 8:02am.

GeneralRe: How to manage dinamically generated user controls? Pin
alin112-Feb-18 2:53
alin112-Feb-18 2:53 
GeneralRe: How to manage dinamically generated user controls? Pin
BillWoodruff12-Feb-18 4:39
professionalBillWoodruff12-Feb-18 4:39 
GeneralRe: How to manage dinamically generated user controls? Pin
alin112-Feb-18 7:15
alin112-Feb-18 7:15 
GeneralRe: How to manage dinamically generated user controls? Pin
BillWoodruff12-Feb-18 7:52
professionalBillWoodruff12-Feb-18 7:52 
GeneralRe: How to manage dinamically generated user controls? Pin
alin112-Feb-18 8:01
alin112-Feb-18 8:01 
GeneralRe: How to manage dinamically generated user controls? Pin
BillWoodruff12-Feb-18 9:13
professionalBillWoodruff12-Feb-18 9:13 
GeneralRe: How to manage dinamically generated user controls? Pin
alin112-Feb-18 9:27
alin112-Feb-18 9:27 
GeneralRe: How to manage dinamically generated user controls? Pin
BillWoodruff12-Feb-18 17:54
professionalBillWoodruff12-Feb-18 17:54 
Questionsevenzipsharp password Pin
Member 1367023411-Feb-18 10:15
Member 1367023411-Feb-18 10:15 
AnswerRe: sevenzipsharp password Pin
Dave Kreskowiak11-Feb-18 11:01
mveDave Kreskowiak11-Feb-18 11:01 
GeneralRe: sevenzipsharp password Pin
BillWoodruff11-Feb-18 23:10
professionalBillWoodruff11-Feb-18 23:10 
GeneralRe: sevenzipsharp password Pin
Dave Kreskowiak12-Feb-18 2:30
mveDave Kreskowiak12-Feb-18 2:30 
AnswerRe: sevenzipsharp password Pin
BillWoodruff11-Feb-18 23:11
professionalBillWoodruff11-Feb-18 23:11 
SuggestionMessage Removed Pin
10-Feb-18 9:12
Markhoernchen10-Feb-18 9:12 
GeneralMessage Removed Pin
10-Feb-18 9:59
mveRichard MacCutchan10-Feb-18 9:59 
AnswerMessage Removed Pin
10-Feb-18 11:28
Markhoernchen10-Feb-18 11:28 
QuestionError with Primary key in Sql database Pin
Member 1367168610-Feb-18 7:32
Member 1367168610-Feb-18 7:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.