Ich erstelle ein Benutzersteuerelement, das ein Panel sowie 4 String- und Integer-Eigenschaften enthält. Ich möchte den Text der Eigenschaften im Benutzersteuerelement während der Entwurfszeit anzeigen. Wie mache ich das? Es fällt mir schwer, Beispiele zu finden.Wie wird die Textzeichenfolge in der Benutzersteuerung zur Entwurfszeit angezeigt?
Antwort
Ungewöhnliche Frage, das übliche Problem ist das Verbergen einer Eigenschaft. Lass es so aussehen:
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
Amy, es ist schwer genau zu sagen, was du willst.
Wenn Sie Eigenschaften in Benutzersteuerelementen haben, können Sie diese Eigenschaften im Eigenschaftenfenster in der Entwurfsansicht anzeigen und bearbeiten.
Also, wenn Sie nobugz Antwort im Eigenschaftenfenster nehmen, können Sie einen Wert für die Eigenschaft Aardvark festlegen.
Möchten Sie den Wert der Eigenschaft in einem Textfeld sehen?
Wenn das der Fall ist, müssen Sie sicherstellen, dass der von der Eigenschaft zurückgegebene Wert ein Wert ist, d. H. Nicht nichts! Und dass die Eigenschaft in einem Event wie Load gesetzt ist.
Auch zur Entwurfszeit zeichnet die usercontrol-Ansicht keine Werte. Wenn Sie das Steuerelement auf ein Formular löschen, können Sie die Werte Ihrer Eigenschaften in einem Textfeld sehen.
Ich bin nicht genau sicher, was Sie fragen, aber ich habe angenommen, dass Sie den Eigenschaftstext im Steuerelement zur Entwurfszeit anzeigen und das zur Laufzeit ausblenden möchten.
Wenn dies der Fall ist, müssen Sie den Label.Text-Wert immer aktualisieren, wenn sich der Eigenschaftswert ändert.
Ich habe angenommen, dass Ihr Steuerelement ein Label namens IblPageNum und eine Eigenschaft PageNum enthält.
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
End Class
ich dumm fühlen. Hier ist, was der Code ist. Wenn Designmode Dann Me.lblPageNum.Visible = True Else Me.lblPageNum.Visible = False End If –