首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类中的自定义控件属性

类中的自定义控件属性
EN

Stack Overflow用户
提问于 2016-10-18 06:09:56
回答 1查看 433关注 0票数 1

我将使用OPC制作一个工业人机界面应用程序。我想用单选按钮显示PLC的变量。但是我想选择无线电按钮属性区域的plc变体。有一个包含所有PLC变量的类。我想为这个班的每个无线电按钮选择不同的变量。如果变量为true,则将对其进行检查。

为此,我希望在c#上设置自定义单选按钮,并向其添加自定义功能。

我可以制作一个自定义单选按钮,但是我不能将它的属性区域与另一个类变量关联起来。当我单击属性区域时,它应该显示类的所有变量。

我怎么能这么做?

代码语言:javascript
运行
复制
 public partial class My_RadioButton : RadioButton
{

    private VarsFromPLC _FrPLC;

    [Description("Displaying PLC Variables"),
     Category("Appearance"),
     TypeConverter(typeof(VarsFromPLC)),
     Browsable(true)]
    public VarsFromPLC FrPLC
    {
        get { return _FrPLC; }
    }


    public My_RadioButton()
    {
        _FrPLC = new VarsFromPLC();
    }

    protected override void OnPaint(PaintEventArgs pe)
    {
        base.OnPaint(pe);
    }
}

public class VarsFromPLC
    {
        public bool bTry1 { get; }
        public bool bTry2 { get; }
        public bool bTry3 { get; }
        public bool bTry4 { get; }
        public bool bTry5 { get; }
        public bool bTry6 { get; }
        public bool bTry7 { get; }
        public bool bTry8 { get; }
        public bool bTry9 { get; }
        public bool bTry10 { get; }
    }

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-18 13:32:53

在阅读关于在属性网格中添加此类下拉列表的答案之前,请考虑以下说明:

  • 使用一组RadioButton控件就像使用ComboBox在可用选项中显示/修改所选选项一样。
  • 如果您想要显示这些属性的值,似乎您正在寻找数据绑定。
  • 如果这些属性中只有一个可以设置为true,则可以创建一组RadioButton控件,并将每个控件绑定到该类的相应属性。这样,单选按钮就可以用于显示/修改这些属性。 注意:在本例中,似乎最好在类中有一个包含所有选项的枚举,并且只包含该枚举类型的一个属性。
  • 如果属性可以具有true值,则可以使用一组CheckBox控件并将它们绑定到类的相应属性。

无论如何,如果您想在属性网格中显示这样的下拉列表,可以使用以下任一选项:

  • 您可以创建一个Enum并定义该枚举类型的属性。这样,您的属性的属性网格中将显示下拉列表.(是最简单的选项)
  • 您可以为属性注册自定义TypeConverter,并重写GetStandardValuesSupported,为属性提供一些标准值,以便在下拉显示中显示。要查看一个示例,请看:向“属性”窗口提供标准值列表的转换器类型
  • 您可以为属性注册一个UITypeEditor。作为一个例子,请看一下演练:实现UI类型编辑器
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40100767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档