我做了一個 UserControl 并想添加 MainForm Reference public partial class ConsolePage : UserControl{ public synForm mainForm = new synForm(); public ConsolePage(synForm parentForm) { mainForm = parentForm(); InitializeComponent(); }所以,問題是,只要我在 c# 代碼中創建我的 UserControl(無論在哪里),它都可以完美運行,但是當我嘗試從 Toolbox 的 Designer 中添加他時,我得到了一個異常。我知道,我應該這樣稱呼他們MyControl whatever = new MyControl(this); 我知道如果我想從 Toolbox 添加 myControl ,我應該在我的 Form.Designer 中更正它!不要恨我,我是編程和拼寫的新手 :D編輯:<<<<<<<忘了說我得到了什么錯誤:System.ComponentModel.Design.Serialization.DesignerSerializationManager.CreateInstance(類型類型,ICollection 參數,字符串名稱,布爾型 addToContainer)System.ComponentModel.Design.Serialization.DesignerSerializationManager.System.ComponentModel.Design.Serialization.IDesignerSerializationManager.CreateInstance(類型類型,ICollection 參數,字符串名稱,布爾型 addToContainer)System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeInstance(IDesignerSerializationManager manager, Type type, Object[] parameters, String name, Boolean addToContainer)System.ComponentModel.Design.Serialization.ComponentCodeDomSerializer.DeserializeInstance(IDesignerSerializationManager manager, Type type, Object[] parameters, String name, Boolean addToContainer)System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)System.ComponentModel.Design.Serialization.CodeDomSerializer.DeserializeStatementToInstance(IDesignerSerializationManager manager, CodeStatement statement) System.ComponentModel.Design.Serialization.CodeDomSerializer.Deserialize(IDesignerSerializationManager manager, Object codeObject)bei System.Windows.Forms.Design.ControlCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, Object codeObject)System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.DeserializeName(IDesignerSerializationManager manager, String name, CodeStatementCollection statements)
1 回答

白衣非少年
TA貢獻1155條經驗 獲得超0個贊
在不知道錯誤消息(您只提供堆棧跟蹤)和 parentForm() 的內容的情況下,說起來并不容易。但似乎 parentForm() 正在做一些在設計器中不可能的事情。
因此,您可以通過檢查 DesignMode ( https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.component.designmode?redirectedfrom=MSDN&view=netframework-4.7 .2#System_ComponentModel_Component_DesignMode)。
public ConsolePage()
{
if (!DesignMode)
{
mainForm = parentForm();
}
InitializeComponent();
}
- 1 回答
- 0 關注
- 299 瀏覽
添加回答
舉報
0/150
提交
取消