我做了一個(gè) UserControl 并想添加 MainForm Reference public partial class ConsolePage : UserControl{ public synForm mainForm = new synForm(); public ConsolePage(synForm parentForm) { mainForm = parentForm(); InitializeComponent(); }所以,問(wèn)題是,只要我在 c# 代碼中創(chuàng)建我的 UserControl(無(wú)論在哪里),它都可以完美運(yùn)行,但是當(dāng)我嘗試從 Toolbox 的 Designer 中添加他時(shí),我得到了一個(gè)異常。我知道,我應(yīng)該這樣稱呼他們MyControl whatever = new MyControl(this); 我知道如果我想從 Toolbox 添加 myControl ,我應(yīng)該在我的 Form.Designer 中更正它!不要恨我,我是編程和拼寫的新手 :D編輯:<<<<<<<忘了說(shuō)我得到了什么錯(cuò)誤:System.ComponentModel.Design.Serialization.DesignerSerializationManager.CreateInstance(類型類型,ICollection 參數(shù),字符串名稱,布爾型 addToContainer)System.ComponentModel.Design.Serialization.DesignerSerializationManager.System.ComponentModel.Design.Serialization.IDesignerSerializationManager.CreateInstance(類型類型,ICollection 參數(shù),字符串名稱,布爾型 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貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
在不知道錯(cuò)誤消息(您只提供堆棧跟蹤)和 parentForm() 的內(nèi)容的情況下,說(shuō)起來(lái)并不容易。但似乎 parentForm() 正在做一些在設(shè)計(jì)器中不可能的事情。
因此,您可以通過(guò)檢查 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 關(guān)注
- 302 瀏覽
添加回答
舉報(bào)
0/150
提交
取消