VS 2012 Winform设计器和自定义控件的奇怪错误

时间:2014-10-19 16:27:17

标签: c# winforms visual-studio-2012 designer windows-forms-designer

我在winform的Visual Studio 2012 Designer中遇到了一个奇怪的设计器错误。

请注意VS 2010不会发生这种情况,VS 2014 CTP也不会发生这种情况:仅限2012年!

错误如下:

  • 假设我在类库中有一个类,它直接覆盖System.Windows.Forms.TextBox(例如)。 在其中,我添加了一些属性以满足我的需求,我称之为“EnhancedTextBox”。

例如:

public partial class EnhancedTextBox : TextBox
{
    [DefaultValue(false)]
    [Category("CatBehavior")]
    [Browsable(true)]
    [EditorBrowsable(EditorBrowsableState.Always)]
    public bool AllowCaseChanging
    {
        get;
        set;
    }
  • 假设现在我有一个新的UserControl使用我的“EnhancedTextBox”并在设计模式下设置其属性“AllowCaseChanging”。

在VS 2010中,一切都很顺利。 但是在2012年,我在打开UserControl时遇到以下错误: here's what the bug looks like

如果我选择“忽略并继续”,VS会删除.designer.cs中的每个“自定义”属性,因此会搞砸所有内容。

请注意我可以很好地构建它,并且在运行时没有问题:它只是一个设计师问题。

目标框架:4,VS 2012,Windows 8下的每次更新(一切都是最新的AFAIK)。

我的示例适用于特定情况,但实际上我遇到了与我的项目中的所有控件完全相同的问题,这些控件定义了设计者可见的新属性。所有自定义事件也是如此。

看起来VS2012看不到我的属性和事件,只有这些来自“基础”控件,在我的示例TextBox中。

0 个答案:

没有答案