我在VB.NET中有Windows窗體應用程序它運行良好,我手動添加了一些代碼事件,沒有設計器,像這樣:錯誤「值不能爲空參數名稱:objectType」當在設計器中打開VB.NET Windows窗體
Private Sub bindingNavigatorAddNewItem_Click(sender As System.Object, e As System.EventArgs) Handles BindingNavigatorAddNewItem.Click
namesBindingSource.AddNew()
End Sub
和一個在Form1.Designer.vb,InitializeComponent方法此代碼
AddHandler Me.BindingNavigatorAddNewItem.Click, AddressOf Me.bindingNavigatorAddNewItem_Click
現在,即使窗體運行正常,並且正確地執行事件;形式在設計時失敗,出現錯誤:
Value cannot be null. Parameter name: objectType
at System.ComponentModel.TypeDescriptor.TypeDescriptionNode.GetRuntimeType(Type objectType) at System.ComponentModel.TypeDescriptionProvider.GetRuntimeType(Type reflectionType) at Microsoft.VisualStudio.Design.MultiTargetingContextProvider.GetRuntimeType(Type objectType) at Microsoft.VisualStudio.Design.Serialization.CodeDom.HandlesClauseManager.GetFieldType(String fieldName, Type documentBaseType) at Microsoft.VisualStudio.Design.Serialization.CodeDom.HandlesClauseManager.GetReferencedComponentType(String componentName, CodeTypeDeclaration codeTypeDecl, ITypeResolutionService loader, IDictionary& cache) at Microsoft.VisualStudio.Design.Serialization.CodeDom.HandlesClauseManager.ParseHandlesClauses(CodeTypeDeclaration codeTypeDecl, Boolean updateCache) at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.OnMethodPopulateStatements(Object sender, EventArgs e) at System.CodeDom.CodeMemberMethod.get_Statements() at System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration) at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager) at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager) at System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)
現在,我發現,如果我通過設計師結合的情況下它不會發生,而不是手動。
但我仍然需要手動完成它,因爲它最終將由一些DTE自動化代碼生成。
此外,如果在錯誤發生後,我按下「忽略並繼續」鏈接,它會在設計時顯示出正確的形式,但爲什麼它首先失敗?
不,不,不。 @StevieTimes的答案是WTG。您的答案將刪除事件處理程序 - 您知道如果您單擊**忽略並繼續**,它會刪除所有事件處理程序和表單設計器呈現 - 但您已經實際刪除了所有事件!你的答案建議做*忽略並繼續*手動! –
對不起,但是,沒有事件被刪除,它們仍然被觸發,以供進一步參考查看VB窗體模板嚮導生成的代碼。NET,適用於Visual Studio的MySql,請參閱https://dev.mysql.com/downloads/windows/visualstudio/ –
您的答案是從綁定導航器中刪除* Handles *(即事件訂閱),因此您要刪除事件。 Stevie的回答允許你保持形式事件的機智。 –