2009-02-27 126 views
2

我創建了一個自定義控件(從Control繼承的類)。當我把它放在窗體上時,我可以在Visual Studio IDE上使用它。它顯示我一個錯誤,我沒有看到該表單。自定義控件和Visual Studio 2008 SP1

錯誤信息是這樣的:La variable'ctrlImagen'noestádeclarada o no seasignónunca。

這是一個Compact Framework應用程序的winform。

我該如何解決這個問題? (它繼承自UserControl,它完美地工作)

+0

你可以把錯誤信息在你的問題? – Migol 2009-02-27 17:23:44

+0

這是WPF或WinForms? – Micah 2009-02-27 17:25:42

回答

0

我把這個構造函數來解決問題: this.ClientSize =新尺寸(21,21);

我班上的beging是這樣的:

 
    public class ControlMapa : Control 
    { 
     public ControlMapa() 
     { 
      this.ClientSize = new Size(21, 21); 
      ... 

謝謝

1

這聽起來像你有一個在你的控制代碼中的錯誤。這聽起來像是一個運行時錯誤,阻止了渲染的控制。

重新讀取您的代碼,並尋找潛在的空指針異常,未分配的變量,堆棧溢出等錯誤是在他們的地方。

2

聽起來很瘋狂,但Visual Studio有選擇地在設計器中爲您的控件執行代碼。首先要檢查的是你的構造函數。確保你有一個空的默認構造函數,它是公開的,即使你從未計劃使用它。之後,確保任何與佈局事件(例如調整大小)相關的代碼都可以使用,這些都可能是罪魁禍首,因爲那些時候我的自定義控件在設計器中不起作用時總會遇到問題。

1

您的用戶控件有沒有公開的默認構造函數?我可以得到一個類似的錯誤「變量‘userControlX’要麼是未聲明或從未分配」如果構造是不公開的。

會需要更多的信息,雖然。

1

看起來在初始化邏輯中發生了設計時異常,該異常在表單初始化邏輯執行之前得到執行。一個很好的例子是NullPointerException由表單包含的用戶控件的默認構造函數(或其調用的一個或多個方法)觸發。