gpt4 book ai didi

c# - 在声明时初始化 tabpage 数组

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:38 24 4
gpt4 key购买 nike

我有一个带有多个选项卡的窗口窗体。我想要一个“TabPage”类型的数组来保存每个选项卡,我想在声明时初始化它。我已经试过了

TabPage[] tabs = {Tab1, Tab2};
TabPage[] tabs = new TabPage[]{Tab1, Tab2};
TabPage[] tabs = new TabPage[2]{Tab1, Tab2};

但都没有用。

此外,我尝试遍历选项卡控件中的每个选项卡,以某种方式将它们添加到数组中,但似乎“Tab_Control.TabPages”集合中没有“ToArray()”方法,选项卡数组也没有有一个“AddRange”方法。

如何在数组声明时初始化标签页以及如何将它们添加到数组后声明?

最佳答案

It seems there is no "ToArray()" method in the "Tab_Control.TabPages" collection.

要从选项卡控件中获取一组选项卡页面,您可以使用:

var pages = tabControl1.TabPages.Cast<TabPage>().ToArray();

您也可以使用 ToList()返回 List<TabPage> 的方法这比数组更灵活。
另外请记住,您应该在 InitializeComponents 之后编写此代码或者例如表格 Load .


您不能初始化 tabs表单级别的字段是这样的:

TabPage[] tabs = new TabPage[] { tabPage1, tabPage2 };

您将收到编译器错误:

A field initializer cannot reference the non-static field, method, or property 'tabPage1'

但是你可以在表单级别定义数组字段TabPage[] tabs然后在 Form Load 或 InitializeComponents 之后的构造函数中,为数组赋值:

tabs = new TabPage[] { tabPage1, tabPage2 };

关于c# - 在声明时初始化 tabpage 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37333053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com