[英]synchronising tabpages and their controls
我有x个TabPage,每个TabPage上都有一个AddressBar控件和一个WebBrowser控件。 WebBrowser控件(自定义控件)具有int类型的属性,称为BrowserCount。
BrowserCount值应与其所在的TabPage相同。 因此TabPage [0]的浏览器的BrowserCount = 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属性(这根本不是属性,它只是一个公共(非静态)变量)。
有什么想法可以使浏览器的BrowseCount重新编号,使其与父TabPage的索引相同吗?
谢谢。
//错误未知成员BrowserCount
是的...因为您的变量“ ctrl”属于Control类型,而Control没有这样的属性/字段“ BrowserCount”。
您需要CAST“ 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
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.