Visual Studioがドロップダウンリストのdatasource
をシリアル化しようとしないようにしようとしています。これは、データベースからデータソースをロードし、ComboBoxから継承する単純なコントロールです。私がdatasoureのために使用するオブジェクトは直列化可能ではないので、コード生成が失敗したと言って、デザイナーのほとんどを何とかしようとするとエラーになります。私はこれをVSがこれをやめることを止めることを望む私のコードにこれを追加しようとしましたが、うまくいきませんでした。Visual Studio DesignerとComboBoxから派生したコントロール
<Obsolete("This property does nothing.")>
<System.ComponentModel.Browsable(False)> _
<System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
Public Shadows Property Datasource() As Object
Get
Return Nothing
End Get
Set(ByVal value As Object)
End Set
End Property
それはまだ何とかdatasource
にアクセスしているので、ComboBox
として私のコントロールを見て、基本クラスのプロパティを読んでする必要があります。それをやめるために何かできることはありますか?
データベースからデータソースをどのようにロードしていますか?デザイナーがそれをやろうとしているように聞こえる。問題は投稿されたコードにありません。 – LarsTech
@LarsTech、問題は投稿されたコードではなく、VSデザイナー(コードなし)にあります。私はデータソースをコンストラクタにロードしています。なぜなら、何らかの理由でVSがロードしたデータソースをシリアル化して、それを 'InitializeComponent'関数に入れようとしているからです。 – Kratz
デザイナーは、空のコンストラクタを実行する必要があります。あなたがDataSource設定の前に置いた場合、 'Not Me.DesignMode Then'は動作しますか? – LarsTech