0
我有x個TabPages,每個TabPages上都有一個AddressBar控件和一個WebBrowser控件。 WebBrowser控件(自定義控件)具有一個名爲BrowserCount的int類型的屬性。同步標籤頁及其控件
BrowserCount值應該與它所在的TabPage相同。因此TabPage [0]具有BrowserCount = 0的瀏覽器; etc
但是,當我刪除一個TabPage的數字不同步。很明顯,答案就是遍歷剩餘的TabePages並將BrowserCount重置爲TabPages新索引。
我有這樣的代碼:
private void UpdateTabs()
{
// Renumber Tabs and Browsers
int tabCount = 0;
foreach (TabPage tp in customTabControl1.TabPages)
{
tp.Tag = tabCount;
foreach (Control ctrl in tp.Controls)
{
if (ctrl.Name == "browser")
{
ctrl.BrowserCount = TabCount; // Error Unknown member BrowserCount
}
}
}
}
這樣看來,我需要得到瀏覽器的實際實例持有該卡可訪問BrowserCount屬性(不是屬性在所有的,它是隻是一個公共(非靜態)變量)。
任何想法如何讓瀏覽器的BrowseCount重新編號,以便它們與父級TabPage的索引相同?
謝謝。
您可以使用TabControl Count屬性作爲您的迭代器的源。 – Tico
如何在你的'TabPage'上實現'INotifyPropertyChanged'並在索引改變時引發事件?你需要用這種方法創建你自己的'TabPage' –
你可以做的一件事是你可以引發一個由你的customTabControl處理的事件。這樣您就不必在特定的標籤頁上保存瀏覽器的實際實例。 –