将属性映射到用户控件

本文关键字:用户 控件 映射 属性 | 更新日期: 2023-09-27 18:32:49

我有一个UserControl,并为其添加了一个属性。但是我希望每当将UserControl添加到窗体时,该属性都会添加到Properties Window中。

这是我用来添加属性的

Image img;
public Image SetImage 
{
    get { return img; }
    set { img = value; }
}

这工作正常,但问题是每当用户想要调用此属性时,用户都必须调用用户控件的类,例如

MyControl ctrl = new MyControl();
ctrl.Image = Image.FromFile("/*Path to Image*/");

但这将更改已添加到该窗体的所有控件的所有属性,但我需要的是将其映射到 UserControl,以便每当用户想要调用它时,用户都会像

MyControl1.Image = Image.FromFile("/*Path to Image*/");

MyControl2.Image = Image.FromFile("/*Path to Image*/");

请问我如何实现这一点?

将属性映射到用户控件

[Browsable(true)] 标记(位于 System.dll 内的System.ComponentModel命名空间中)添加到用户控件类的所需属性中:

public class YourUserControl
{
    ....
    ....
    [Browsable(true)]
    public Image SetImage 
    {
        get { return img; }
        set { img = value; }
    }
}