【发布时间】:2020-06-25 01:09:54
【问题描述】:
我有一个用户控件 (XListBox),上面有一个列表框 (ListBox1) 和一个按钮。用户控件位于一个窗体 (Form1) 上,该窗体上也有一个按钮。代码如下所示。如果单击用户控件内的按钮,则文本“从 XListBox 内部添加项目”出现在列表框中没有问题。但是,如果我单击表单上的按钮,则字符串“从表单向 XListBox 添加项目”不会添加到列表框中,尽管 Debug.Print 确实在输出窗口中显示了它。看来我错过了一些东西,但我不知道是什么。任何帮助,将不胜感激。提前致谢。
Public Class Form1
Dim lstActions As New XListBox
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
lstActions.AddItem("Add item to XListBox from form")
End Sub
End Class
Public Class XListBox ' user control
Private Sub XListBox_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ListBox1.Items.Add("Add Item from inside XListBox")
End Sub
Public Sub AddItem(sString As String)
ListBox1.Items.Add(sString)
Debug.Print(sString)
End Sub
End Class
【问题讨论】:
-
正如 jmcilhinney 所说,使用表单上已经存在的 UserControl 的名称。默认情况下,如果您的 UserControl 名为“XListBox”,那么您在表单上放置的第一个控件将称为“XListBox1”。如果您没有更改名称,那么在您的点击处理程序中您只需编写
XListBox1.AddItem("something")。
标签: vb.net listbox user-controls