【问题标题】:I want to add a new label to a form using vb.net我想使用 vb.net 向表单添加新标签
【发布时间】:2014-04-26 21:15:16
【问题描述】:

我在下面使用的代码不起作用,我对 vb.net 相当有经验,以前从未遇到过这个问题,当表单加载时标签根本不会出现(代码在 Load 事件中处理程序)。

Dim currentUserLabel As New Label 
    With {.Text = "Logged in as: " + firstName + " " + _ lastName, 
    .Location = New Point(5, 3), .Font = New Font("Microsoft Sans Serif", 
    18, FontStyle.Bold)}
MenuTab.Controls.Add(currentUserLabel)
currentUserLabel.AutoSize = True
currentUserLabel.BringToFront()
MenuTab.Refresh()

【问题讨论】:

  • 同上 - 在设计器中添加一个标签,看看你想要它去的位置,然后使用它
  • 标签页上曾经只有一个标签,但即使我刷新它或使其无效,它的文本也不会改变。所以我决定每次都尝试制作一个新标签,旧标签肯定在(5, 3)
  • 它不应该在表单/控件无效或刷新时更改,只是在文本属性更改时。当 Text 属性更改时,创建新控件几乎是多余的。请务必妥善处理旧控件:构建它们,然后销毁它们。
  • 它仍然不起作用,我尝试的所有方法都不起作用,有人可以给我一个他们用来更改标签文本的代码示例吗?
  • FormName.LabelName.Text = "Text To Show"

标签: vb.net winforms label vb.net-2010


【解决方案1】:

您不能将控件添加到 TabControl,它只是页面。

 Dim currentUserLabel As New Label With {.Text = "Logged in as: " + firstName + " " + _ lastName,
 .Location = New Point(5, 3), .Font = New Font("Microsoft Sans Serif", 18, FontStyle.Bold)}
 MenuTab.TabPages(0).Controls.Add(currentUserLabel)
 currentUserLabel.AutoSize = True

【讨论】:

  • MenuTab 是标签页而不是标签控件
  • 那么我无法重现问题。
【解决方案2】:

最后对它进行排序,我在表单加载时使标签失效,然后创建了一个处理标签失效的事件方法。我使用了我已经在此方法中尝试过的代码并且它有效。不知道为什么在加载表单时它不会只加载标签文本:P。 VB 有时候很傻……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    相关资源
    最近更新 更多