【问题标题】:Creating Windows Forms labels within a tab control C#在选项卡控件 C# 中创建 Windows 窗体标签
【发布时间】:2015-01-25 15:02:46
【问题描述】:

我目前正在做一个项目,我试图让 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# winforms tabs label controls


【解决方案1】:

喜欢建议使用

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

但在设置名称属性之前:

contactPage.Name="someUniqueName"

并使用

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

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

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

【讨论】:

    【解决方案2】:

    由于您将新页面创建为TabPage contactPage 对象,

    tabs.TabPages.Add(tabName);
    

    应该是

    tabs.TabPages.Add(contactPage);
    

    【讨论】:

      猜你喜欢
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      • 2019-06-30
      • 1970-01-01
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 2013-08-12
      相关资源
      最近更新 更多