如何访问动态加载的用户控件vb.net的方法

时间:2018-09-30 12:53:04

标签: vb.net user-controls

我有一个动态加载的用户控件,并且在用户控件内部,我有一个方法,当我单击表单上的按钮时想调用它,但是似乎无法识别,因为它说“ showTexboxMessage”是不是UControl1的成员“

Form1代码:

Dim UControl1 As New UserControl1
Private Sub applyLoan_Load(sender As Object, e As EventArgs) Handles MyBase.Load

      PanelMain.Controls.Add(UControl1)
      UControl1.Location = New Point(0, 0)
      UControl1.Size = New Point(500, 533)
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      UControl1.showTexboxMessage()
End Sub

在用户控件中,我有一个文本框,当单击表单中的按钮时,我想显示该文本框。

Public Class UserControl1
    Public Sub showTexboxMessage()
       MessageBox.Show(textbox1.Text)
    End Sub
End Sub

按钮必须采用表格形式,而不是用户控件中的形式。希望你能帮助我。

2 个答案:

答案 0 :(得分:0)

我也不知道我是否也理解,但是在第一个代码上,尝试像这样进行更改↓


Dim ctrl1 As New UserControl1

Private Sub applyLoan_Load(sender As Object, e As EventArgs) Handles MyBase.Load

  PanelMain.Controls.Add(ctrl1)
  ctrl1.Location = New Point(0, 0)
  ctrl1.Size = New Point(500, 533)

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ctrl1.showTexboxMessage() End Sub

在第二个代码上,我不明白您想要什么,可以解释一下更好吗?因为如果您想显示一条消息,它看起来像这样↓

  PanelMain.Controls.Add(ctrl1)
  ctrl1.Location = New Point(0, 0)
  ctrl1.Size = New Point(500, 533)

如果您想显示文本框本身,则看起来像这样↓

Public Sub showTexboxMessage()
    MessageBox.Show("here is your message!!!")
End Sub
文本框所在控件上的

obs *,应将visible属性修改为false,因为标准配置为true

所以无论如何,很幸运:)

答案 1 :(得分:0)

好吧,如果您想显示另一个控件上的文本,则需要在控件名之前加上这样的提示↓

Public Sub showTexboxMessage()
    MessageBox.Show(formN.textbox1.Text)
End Sub

或者,如果您愿意使用自己的控制权,请使用这样的单词↓

Public Sub showTexboxMessage()
    MessageBox.Show(me.textbox1.Text)
End Sub