在选项卡控件 C# 中创建 Windows 窗体标签

本文关键字:创建 Windows 窗体 标签 选项 控件 | 更新日期: 2023-09-27 18:32:06

我目前正在做一个项目,我正在尝试让它在 ArrayList 中的每个联系人都有自己的标签页。在标签页中,我希望显示他们的所有信息,为此,我正在尝试创建包含其信息的标签。我现在只是试图让至少一个标签出现,但它似乎根本没有显示。我的代码如下。有什么帮助吗?

            int count = 0;
            foreach (clsContactHandler contact in clsGlobal.mContacts)
            {
                string tabName = contact.FirstName + " " + contact.LastName;
                Font font = new Font("Microsoft Sans Serif", 16.0f, FontStyle.Bold);
                TabPage contactPage = new TabPage(tabName);
                tabs.TabPages.Add(tabName);
                Label label = new Label();
                contactPage.Controls.Add(label);
                label.Font = font;
                label.AutoSize = true;
                label.Location = new System.Drawing.Point(16, 7);
                label.Name = "label" + count;
                label.Size = new System.Drawing.Size(43, 13);
                label.Text = "Name:";
                count++;
            }

在选项卡控件 C# 中创建 Windows 窗体标签

由于您正在创建新页面作为对象TabPage contactPage

tabs.TabPages.Add(tabName);

应该是

tabs.TabPages.Add(contactPage);

喜欢建议使用

tabs.TabPages[tabName].Controls.Add(label);

但在该集合名称属性之前:

contactPage.Name="someUniqueName"

和使用

tabs.TabPages[count].Controls.Add(label);

我想计数在哪里,索引跟踪器以防TabPages["someUniqueName"]抛出 NullReferenceException。

此外,将contactpage添加到tabs而不是tabName