同步选项卡页及其控件
本文关键字:控件 选项 同步 | 更新日期: 2023-09-27 18:34:26
我有x个TabPages,每个TabPages上都有一个AddressBar控件和一个Web浏览器控件。WebBrowser 控件(自定义控件)具有一个名为 BrowserCount 的 int 类型的属性。
浏览器计数值应与它所在的选项卡页相同。所以 TabPage[0] 有一个浏览器计数 = 0;等
但是,当我删除 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 属性(它根本不是一个属性,它只是一个公共(非静态)变量)。
任何想法如何让浏览器的浏览计数重新编号,以便它们与父 TabPage 的索引相同?
谢谢。
错误未知成员浏览器计数
右。。。因为您的变量"ctrl"的类型是"控制",而"控制"没有称为"浏览器计数"的属性/字段。
您需要将"ctrl"转换为正确的类型。 这可能看起来像这样:
int tabCount = 0;
foreach (TabPage tp in customTabControl1.TabPages)
{
tp.Tag = tabCount;
foreach (Control ctrl in tp.Controls)
{
if (ctl is YourUserControlTypeHere)
{
YourUserControlTypeHere uc = (YourUserControlTypeHere)ctl;
uc.BrowserCount = TabCount; // Error Unknown member BrowserCount
}
}
}