[英]Checking if tabpage exists, then create a new one if it doesn't
这是我的编码
Thread groupid = new Thread(() =>
{
while(true)
{
GroupIds.ForEach(delegate(String name)
{
if (tabControl1.TabPages.ContainsKey(name))
{
}
else
tabControl1.TabPages.Add(name);
});
}
});
出于某种原因,如果我启动线程(这个循环检查列表中是否出现新值,然后创建一个新页面。这段代码有效,它将显示一个用该值创建的新选项卡,然后大约1 秒钟它说“项目无响应”又名它崩溃了。所以我不知道如何修复它,我已经尝试过。tabControl1.TabPages,Contains(name)。和不同的循环样式,即使没有线程。它使新页面立即崩溃。
访问tabControl
阻止ProgramThread。 因此,您实际上是在不停地阻止该线程。 尤其是在如此紧密的循环中,应用程序似乎无响应。
if (!tabControl1.TabPages.Contains(tabPage2))
{
tabControl1.TabPages.Insert(1, tabPage2);
}
这将检查表页面是否已经存在,如果不存在,将允许您创建一个。
你可以尝试这样的事情:
for (int i = 0; i < TabControl.TabPages.Count; i++)
{
if (TabControl.TabPages[i].Name == MyName)
{
TabControl.TabPages.Remove(RdpTabControl.TabPages[i]);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.