我有一个自定义VB.NET控件,我创建它在一个程序中正常工作但在另一个程序中没有。控件有一个按钮和一个表单。表单根据控件中的设置显示一些数据。
这是两个测试项目中的用法:
With Me.MyControl1
'.Connection = gConn
.Server = "servername"
.DBName = "dbname"
.TableName = "table"
.FieldString = "list of fields"
.ReturnColumn = 0
.AllowMultiSelect = True
End With
这就是我将设置传递给表单的方式。
...此表单是控件的一部分
Public Sub New(ByVal cmsl As MyCustomControl)
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
Me.Connection = cmsl.Connection
Me.ConnectionString = cmsl.ConnectionString
Me.Server = cmsl.Server
Me.DBname = cmsl.DBName
Me.TableName = cmsl.TableName
Me.FieldString = cmsl.FieldString
Me.FilterString = cmsl.FilterString
Me.AllowMultiSelect = cmsl.AllowMultiSelect
Me.AutoPopulate = cmsl.AutoPopulate
Me.ReturnColumn = cmsl.ReturnColumn
Me.SelectTop = cmsl.SelectTop
End Sub
在TestProject1中 - 控件按预期工作
在TestProject2中 - 控件未将我设置的任何设置发送到表单
当我使用UserControl TestContainer进行调试时,我的控件正常工作。
我在VS2005上使用VB.NET。
这一切都在同一台机器上完成。为什么这会在一个项目而不是另一个项目中工作?
答案 0 :(得分:0)
好像是一个引用错误。请告诉我们UserControl是如何集成的。问题必须来自那里。
您是在谈论自定义控件还是UserControl? (对我来说不一样)
在道具中尝试一些断点,并尝试检查引用:)。您可能正在使用第二个用户控件重叠第一个或类似的东西:)。
在winforms中,设计师有时会变得奇怪。