如何通过单击用户控件上的按钮更新窗体上的文本框

Sei*_*aft 0 vb.net

当我点击用户控件上的按钮时,我需要更新文本框的文本.

我怎么能这样做?

Han*_*ant 5

在用户控件中声明一个事件,并让按钮的Click事件引发它:

Public Class UserControl1
  Public Event MyButtonClick As EventHandler(Of MyButtonClickEventArgs)

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    RaiseEvent MyButtonClick(Me, New MyButtonClickEventArgs("nobugz"))
  End Sub

  Public Class MyButtonClickEventArgs
    Inherits EventArgs
    Private mText As String
    Public Sub New(ByVal text As String)
      mText = text
    End Sub
    Public ReadOnly Property Text() As String
      Get
        Return mText
      End Get
    End Property
  End Class

End Class
Run Code Online (Sandbox Code Playgroud)

现在,托管用户控件的表单可以订阅该事件并根据需要更新文本框:

  Private Sub UserControl11_MyButtonClick(ByVal sender As System.Object, ByVal e As WindowsApplication1.UserControl1.MyButtonClickEventArgs) Handles UserControl11.MyButtonClick
    TextBox1.Text = e.Text
  End Sub
Run Code Online (Sandbox Code Playgroud)