gpt4 book ai didi

.net - 在.net中管理标签

转载 作者:行者123 更新时间:2023-12-04 18:13:09 26 4
gpt4 key购买 nike

我正在使用VB 2008 Express,但这可能适用于所有.net环境。

我的问题与什么都不做的标签有关。没有事件,它们的文本永远不会改变。他们只是坐在文本框和其他小控件上方,因此用户知道每个doohickey的用途。那是他们的全部工作。简单的。没有任何代码。 (除了表单设计者编写的代码。)

我的问题是,其中有很多该死!我的应用程序在同一表单上有多个选项卡,并且每个选项卡都有很多对象,并且每个对象都有一个关联的标签。由于我从来没有想过要给它们命名,所以现在有了一个名为Label224的标签。是的,有224个标签!这太荒谬了。当我查看属性窗口时,有时我希望使用下拉菜单按名称选择对象,并且它们会导致大量滚动。

问题:有没有办法使大量未命名的标签(或代码中未引用的任何类型的对象)在开发过程中变得不那么吸引人?

我当然可以用代码加载它们。那样很好,但是最好以图形方式将它们布置好,而不会反复试验并运行代码以查看定位是否正确。

最佳答案

有几件事。

将每个标签的GenerateMember属性设置为false:

label1.GenerateMember = False

这样可以防止标 checkout 现在代码 View 组合框和智能感知中。

除此之外,您还有太多控件。

您提到了“选项卡”,在这种情况下,您可以尝试将每个选项卡的内容移动到单独的用户控件中,然后只为每个选项卡加载单个用户控件。它不会减少控件的数量,但是会使其更易于管理。

标签的另一个“任务”是为选项卡顺序中的下一个控件提供助记符控件激活。如果不使用此功能,则可以尝试“作弊”并完全摆脱标签,然后在容器的paint事件中将每个控件旁边的“paint”标签。您可以将标签的显示置于控件的tag属性中,并在其上绘画。不一定是最大的建议。

例子:
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
For Each c As Control In Me.Controls
If c.Tag IsNot Nothing Then
TextRenderer.DrawText(e.Graphics, c.Tag.ToString, Me.Font, _
New Rectangle(c.Left - 100, c.Top, 100, c.Height), _
Color.Black, Color.Empty, TextFormatFlags.VerticalCenter)
End If
Next
End Sub

关于.net - 在.net中管理标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8915856/

26 4 0