从ComboBox派生的Visual Studio Designer和Control

时间:2012-03-15 18:41:16

标签: .net visual-studio visual-studio-2010 combobox

我试图阻止Visual Studio序列化datasource下拉列表。它只是一个简单的控件,从数据库加载其数据源,并从ComboBox继承。我用于数据的对象是不可序列化的,所以当我尝试做几乎所有设计人员,说代码生成失败时它会出错。我已经尝试将此添加到我的代码中,希望它能阻止VS这样做,但它没有用。

    <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并读取基类属性。有什么办法可以阻止吗?

1 个答案:

答案 0 :(得分:0)

不完全是我的想法,但我想它确实回答了这个问题,因为我可以在设计时将控件绑定到数据源,但使用此属性,

if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
{
    // design time only stuff
}
else
{
    // runtime only stuff.
}

从这篇文章:http://dotnetfacts.blogspot.com/2009/01/identifying-run-time-and-design-mode.html

我可以阻止自己在设计时加载数据源,因此VS无需尝试序列化。