Zo...tijd voor een topic
Ik heb een winforms app, waarin ik een frmMain heb, en een zooi usercontrols.
in de frmMain heb ik een functie om makkelijk een usercontrol te laden:
Alle usercontrols zijn afgeleid van een klasse ITemplate (Visual Inheritence)
in de klasse ITemplate, heb ik de functies:
Hier krijg ik echter een System.NullReferenceException : Object reference not set to an instance of an object.
ParentForm van UserControl is read only, en Parent van Control kan wel geset worden, maar dan worden de controls niet meer geladen.
Wat is de beste manier, om usercontrols te laden in de parent container vanuit andere usercontrols (dus de usercontrol vervagen door een andere)?
Ik heb een winforms app, waarin ik een frmMain heb, en een zooi usercontrols.
in de frmMain heb ik een functie om makkelijk een usercontrol te laden:
C#:
1
2
3
4
5
6
7
8
9
| public void ShowControl(Control c) { if(pnlMain.Controls.Count != 0) pnlMain.Controls[0].Dispose(); pnlMain.Controls.Clear(); pnlMain.Controls.Add(c); pnlMain.Controls[0].Dock = DockStyle.Fill; ChangePanelState(); } |
Alle usercontrols zijn afgeleid van een klasse ITemplate (Visual Inheritence)
in de klasse ITemplate, heb ik de functies:
C#:
1
2
3
4
| public void LoadStartControl(BLL.ApplicationParams ap) { ((frmMain)this.ParentForm).ShowControl(new ucStart(ap)); } |
Hier krijg ik echter een System.NullReferenceException : Object reference not set to an instance of an object.
ParentForm van UserControl is read only, en Parent van Control kan wel geset worden, maar dan worden de controls niet meer geladen.
Wat is de beste manier, om usercontrols te laden in de parent container vanuit andere usercontrols (dus de usercontrol vervagen door een andere)?