【发布时间】:2020-03-18 17:23:05
【问题描述】:
我在 Autocad 中有一个用户控件,可以根据特定标准制作图纸。 从这个用户控件,可以打开另一个用于填写特定数据的表单。 当我尝试使用表单中的数据自动更改用户控件中的组合框时,它会给出错误:
对非共享成员的引用需要对象引用。
现在我在互联网上查找了这个,但我似乎无法应用给出的解决方案。 我的情况如下:
Partial Public Class Partial Public Class User_Control
Private Form1 As New Form_Something
private sub button1_click(sender As Object, e As EventArgs) Handles button1.Click
Form1.show()
End sub
End Class
此用户控件有一个 Combobox,我们将其命名为 Combobox1。现在,当我更改 Form_Something 上的值时,Combobox1 也必须更改。 所以我在Form1中有以下代码:
Partial public class Form_Something
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles BT_Apply.Click
User_Control.Combobox1.text = "Apples"
End sub
End class
这给出了上述错误。 有人可以帮我解决这个问题吗,因为我想用多个组合框/标签等来做这个。
【问题讨论】:
-
请注意您必须引用特定的
ComboBox来影响该控件,而不仅仅是ComboBox类?有道理,因为您可以有多个ComboBoxes。那么,为什么您认为您可以只引用您的User_Control类并影响该类型的特定实例?如果你能做到这一点并且你有多个实例,你期望会发生什么?您需要参考您想要影响的实际实例,而不仅仅是它的类型。 -
可能需要确保您在 FormSomething 中的 ComboBox1 上也正确设置了修饰符属性
-
谢谢@jmcilhinney,所以当我从表单中引用用户控件时,我必须引用用户控件的特定实例或组合框的特定实例?
-
@Hursey 谢谢,我已经将修饰符设置为
public,但它没有帮助