私は、UserControlから継承するMainAreaTabというクラスを持っています。TabControl - C# - でTabPageに追加されたカスタムUserControlにどうやってアクセスできますか?
別のユーザーコントロール(Page3と呼ばれています)には、TabPagesを含むTabControlがあり、すべてのTabPagesにはMainAreaTabが含まれています。これは私がこれを行うコードであり、うまくいきます:
string mainAreaString = mData.GetMainAreaName((UInt32)mainAreaId);
MainAreaTab myUserControl = new MainAreaTab(mData, (uint)mainAreaId);
TabPage mainAreaTabPage = new TabPage(mainAreaString);//Create new tabpage
mainAreaTabPage.Controls.Add(myUserControl);
mTabControl.TabPages.Add(mainAreaTabPage);
私が言ったように、これはうまく動作します。この問題は、すべてのTabPageで各MainAreaTabのパブリックメソッドにアクセスしたいときに発生します。私はこのような何かをしようとしたが、それは仕事をdoes't:
foreach (TabPage tabPage in mTabControl.TabPages)
{
TabControl userControl = (TabControl)tabPage.Controls[0];
MainAreaTab tab = userControl as MainAreaTab;
}
私が手にエラーがある:
タイプを変換できません「System.Windows.Forms.TabControl」「MainAreaTab」に参照を経由して変換、ボクシング変換、アンボクシング変換、ラッピング変換、またはヌル型変換。
何か不足していますか?これはできますか?前もって感謝します。
[0]あなたは 'MainAreaTabタブ=(MainAreaTab)tabPage.Controlsをしたいと私には思えます;'。それを試して、それが役立つかどうかを見てください。 – Enigmativity