2009-07-21 6 views
0

J'utilise C# 2005 pour créer une application Windows. J'ai un MDIForm (frmMainMenu) qui contient un Menustrip et unSupprimer un TabPage

TabControl. Mon ChildForm est frmPurchaseEntry. Lorsque l'utilisateur clique sur une option de menu particulière, un nouveau TabPage est créé et

le formulaire enfant est affiché dans la TabPage.

J'utilise le code suivant en cas MenuClick du MDIForm (frmMainMenu):

frmPurchaseEntry PurchaseEntry = new frmPurchaseEntry(); 
PurchaseEntry.MdiParent = this; 
PurchaseEntry.TabCtrl = tabControl1; 
PurchaseEntry.TopLevel = false; 
PurchaseEntry.Visible = true; 
PurchaseEntry.FormBorderStyle = FormBorderStyle.None; 
PurchaseEntry.Dock = DockStyle.Fill; 

TabPage tpPurchaseEntry = new TabPage(); 
tpPurchaseEntry.Parent = tabControl1; 
tpPurchaseEntry.Text = PurchaseEntry.Text; 
tpPurchaseEntry.Controls.Add(PurchaseEntry); 

tpPurchaseEntry.Show(); 
PurchaseEntry.Select(); 

tabControl1.SelectedTab = tpPurchaseEntry ; 

Tout est OK jusqu'à ce. Mais je suis incapable de supprimer le TabPage lorsque le ChildForm est fermé. La commande suivante seulement

ferme la ChildForm, mais le TabPage vide reste toujours.

this.Close(); 

Je sais la syntaxe pour supprimer un TabPage est

tabControl1.TabPages.Remove(tabControl1.SelectedTab); 

Mais Im incapable d'accéder à la TabControl de MDIForm du ChildForm. J'ai essayé d'utiliser le modificateur Public pour TabControl, mais

il n'est toujours pas exposé à partir du ChildForm.

Comment puis-je supprimer et disposer un TabPage particulier (avec un texte d'onglet particulier) de l'objet ChildForm ???

Merci.

Lalit Kumar Barik

+0

êtes-vous sûr de vous voulez Show() et pas ShowDialog()? –

Répondre

2

Avant/après la

tpPurchaseEntry.Show(); 

ajouter

PurchaseEntry.Closed += (_s,_e)=>tabControl1.TabPages.Remove(tpPurchaseEntry); 

Si vous utilisez C# 2.0 remplacer « (_s, _e) => tabControl1.TabPages.Remove (tpPurchaseEntry) "avec

delegate(object _s, EventArgs _e) { tabControl1.TabPages.Remove(tpPurchaseEntry); } 
Questions connexes