2012-03-06 30 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

相關問題