3

我正在尝试将一些字段添加到UserControl我正在制作的自定义中。我有一些字段,我希望它们PropertiesVisual Studio. 我尝试使用下面的标志,但我在设计器中看不到该字段,即使在编译之后也是如此。

我应该如何正确地做到这一点?

public partial class TosChartControl: UserControl
{

    #region PUBLIC FIELDS

    [Browsable(true)] //Added this but still does not show up
    [Category("Data")]
    [DefaultValue(0)]
    [Description("ID of the Sensor Node")]
    public int NodeId { get; set; }

    #endregion

    public TosChartControl()
    {
        InitializeComponent();
    }
}

我确实清理并重建了解决方案和项目,但我仍然无法在“属性”窗口中看到该字段。即使重新启动 Visualstudio 也无济于事。

4

2 回答 2

4

更新:只有在设计器中的另一个控件中,您的公共属性才在设计器中可见。事实证明,您不需要添加此属性,属性在设计器中默认可见。据我了解,当它在另一个组件的设计视图中时,会创建一个用户控件的实例并且可以显示属性。很抱歉一开始误导了你,我认为有必要添加它。


试试这个属性:

[可浏览(真)]

http://msdn.microsoft.com/en-us/library/system.componentmodel.browsableattribute.aspx

于 2013-07-03T12:18:25.633 回答
1

详细说明 henginy 的更新答案:

请确保您正在查看要修改其属性的控件的实例,而不是控件本身的定义。

澄清一下,当你向你的TosChartControl类添加一个属性时,你不会在TosChartControl.cs [Design]选项卡中看到该属性,你会在你实现 a 的地方看到它TosChartControl,例如你的Form1.cs [Design]选项卡,例如你添加了自定义控件的包含控件。

...假设您的属性窗口是可见的,并且您选择了控件。

从这节课中学到什么:

  • 了解属性窗口实际向您显示的内容 - 它是上下文相关的。

  • 模型与模型实现之间的区别——例如设计自定义控件和设计使用自定义控件的表单。

于 2017-07-06T05:07:27.653 回答