2010-12-02 66 views
1

我在VSE中用C#創建了一個自定義控件,它出現在左邊的列表中。但我想傳遞一個對主表單的引用,而且我正在構造函數中這樣做。然後我手動編輯了VSE Designer生成的代碼以傳遞表單本身。但此後,當我嘗試使用designview VSE顯示錯誤消息時。我以錯誤的方式做了這件事嗎?如何在自定義控件中傳遞變量?

class canvas : Control 
{ 

    public canvas(Form1 theForm) 
    { 

    } 
} 

然後在設計器生成的代碼:

this.canvas2 = new panel2.canvas(this); 

回答

2

你可以只使用一個公共屬性。

public Form1 mainForm { get; set; } 

然後,您可以將其作爲參數傳遞給畫布對象。

<canvas mainForm='<%= this %>'></canvas> 

或者從代碼:

this.canvas2.mainForm = this; 
0

可能,而不是傳遞的形式通過您控制的構造函數,你可以使用控制的FindForm()方法,以獲得在該控制已被放置形式。

相關問題