如何在设计时在用户控件中显示文本字符串?

时间:2009-02-25 18:46:08

标签: vb.net user-controls

我正在创建一个包含面板以及4个字符串和整数属性的用户控件。我想在设计时在用户控件中显示属性的文本。我该怎么做呢?我很难找到例子。

3 个答案:

答案 0 :(得分:1)

奇怪的问题,通常的问题是隐藏财产。看起来像这样:

Imports System.ComponentModel

Public Class UserControl1

    Private mAardvark As Integer

    <DefaultValue(0)> _
    Public Property Aardvark() As Integer
        Get
            Return mAardvark
        End Get
        Set(ByVal value As Integer)
            mAardvark = value
        End Set
    End Property
End Class

答案 1 :(得分:0)

艾米,很难确切地说出你追求的是什么。

如果在用户控件中有属性,则可以在设计视图的“属性”窗口中查看和编辑这些属性。

因此,如果您在属性窗口中获取nobugz答案,您将能够为属性Aardvark设置一个值。

您是否想要在文本框之类的内容中查看属性的值?

如果是这种情况,您需要确保从属性返回的值是一个值,即不是什么!并且该属性在Load等事件中设置。

同样在设计时,usercontrol视图不会绘制值,如果您将控件放在表单上,​​您将能够在文本框中看到属性的值。

答案 2 :(得分:0)

我不确定你在问什么,但我假设你想在设计时在控件中显示属性文本并在运行时隐藏它。

如果是这种情况,只要属性值发生变化,您就需要更新Label.Text值。

我假设你的控件包含一个名为lblPageNum的标签和一个属性PageNum。

Public Class TheUserControl

Private myPageNum As String

Public Property PageNum() As String
    Get
        PageNum = myPageNum
    End Get
    Set(ByVal value As String)
        myPageNum = value
        ' This is where we set the value of the label at design-time
        lblPageNum.Text = myPageNum
    End Set
End Property

Public Sub New()

    ' This call is required by the Windows Form Designer.
    InitializeComponent()

    ' Add any initialization after the InitializeComponent() call.

End Sub

Private Sub UserControl1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If Me.DesignMode Then
        Me.lblPageNum.Visible = True
    Else
        Me.lblPageNum.Visible = False
    End If
End Sub 

结束班