我的程序中有很多标签页,我想添加或删除这些页面。我正在使用以下语句来完成它。
object[] listToRemove = {tabPage1, tabPage2,tabPage3, ... tabPage20};
foreach ( object itr in listToRemove)
{
if(this.myControlForm.TabPages.Contains(itr))
{
this.myControlForm.TabPages.Remove(itr));
}
}
但是当我有很多要添加或删除的标签页面时会产生太多代码,所以我想在数组中添加它们并制作一个foreach循环但是我收到了错误
我的代码是:
{{1}}
为什么会发生这种情况,有人可以帮忙吗?
答案 0 :(得分:4)
将listToRemove
更改为显式类型,即从对象数组更改为TabPage
数组。
与循环中的itr
变量相同的故事。
Contains
和Remove
方法期望参数类型为TabPage
,而不是object
- 这就是您收到错误的原因。
TabPage[] listToRemove = {tabPage1, tabPage2,tabPage3, ... tabPage20};
foreach (TabPage itr in listToRemove)
{
if(this.myControlForm.TabPages.Contains(itr))
this.myControlForm.TabPages.Remove(itr);
}