C# 2005 を使用して Windows アプリケーションを作成しています。Menustrip を含む MDIForm (frmMainMenu) と
タブ コントロール。私の ChildForm は frmPurchaseEntry です。ユーザーが特定のメニュー オプションをクリックすると、新しい TabPage が作成され、
子フォームは TabPage 内に表示されます。
MDIForm (frmMainMenu) の MenuClick イベントで次のコードを使用しています。
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 ;
ここまではOKです。しかし、ChildForm が閉じているときに TabPage を削除できません。以下のコマンドのみ
ChildForm を閉じますが、空の TabPage はまだ残っています。
this.Close();
TabPage を削除する構文は次のとおりです。
tabControl1.TabPages.Remove(tabControl1.SelectedTab);
しかし、ChildForm から MDIForm の TabControl にアクセスできません。TabControlにPublic修飾子を使おうとしたのですが、
まだ ChildForm から公開されていません。
ChildForm から特定の TabPage (特定の Tab Text を含む) を削除して破棄するにはどうすればよいですか?
ありがとうございました。
ラリット・クマール・バリク