2012-03-06 62 views
0

我有一个自定义的VB.NET控件,我创建的程序在一个程序中正常工作,但不在另一个程序中。该控件有一个按钮和一个窗体。表单根据控件中的设置显示一些数据。从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

看起来像一个参考错误。请告诉我们UserControl是如何集成的。问题必须来自那里。

你是在谈论一个自定义控件或UserControl? (对我来说不一样)

在道具上尝试一些断点,并尝试检查参考:)。你可能正在使用第二个用户控件重叠第一个或类似的东西:)。

在winforms中,设计师有时会变得很奇怪。

+0

它是一个自定义控件。我会试试看看我能找到什么。 – Eric 2012-03-06 20:33:37

+0

这是愚蠢和简单的事情。当我在设计器上拖动控件时,控件被重新命名(我必须在另一个控件上拖动它时)。当我审查时,我一定忽略了这一点。感谢您的回复squelos。 – Eric 2012-03-06 20:49:13

+0

是的,我以为是这样的。看起来太奇怪了,不能成为别的东西。我碰巧遇到了与使用大量用户控件的应用程序相同类型的问题。 Winforms设计器不喜欢用户控件中的错误,有时会删除/重命名我的用户控件。有时候只是部分的,所以我无法在任何地方直观地找到它们,而在.designer中,只有一半的声明/属性存在......产生非常奇怪的东西:D – squelos 2012-03-06 20:53:02

相关问题