【问题标题】:Custom control property from a class类的自定义控件属性
【发布时间】:2016-10-18 06:09:56
【问题描述】:

我将使用 OPC 制作一个工业 HMI 应用程序。我想用单选按钮显示 PLC 的变量。但我想在单选按钮属性区域选择 plc 变量。有一个类包括所有 PLC 的变量。我想为此类中的每个单选按钮选择不同的变量。如果变量为真,它将被检查。

为此,我想在 c# 上制作自定义单选按钮并向其添加自定义属性。

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

我该怎么做?

 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; }
    }

【问题讨论】:

  • “我可以制作一个自定义单选按钮”....“下拉列表应该打开” 单选按钮中的下拉菜单???你能解释一下你想要什么
  • 我将使用 OPC 制作一个工业 HMI 应用程序。我想用单选按钮显示 PLC 的变量。但我想在单选按钮属性区域选择 plc 变量。有一个包含所有 PLC 变量的类。我想为此类中的每个单选按钮选择不同的变量。如果变量为真,它将被检查。对不起,不清楚的问题。
  • 好的,没问题 :) 另外请使用问题上的编辑链接添加其他信息。
  • 您能否说明一下您希望它的外观以及它应该做什么?我很好奇您将如何可视化解决方案。
  • 您想通过下拉菜单在设计器中显示属性是否正确?

标签: c# winforms


【解决方案1】:

在阅读有关将此类下拉列表添加到属性网格的答案之前,请考虑以下注意事项:

  • 使用一组RadioButton 控件就像使用ComboBox 来显示/修改可用选项中的选定选项。

  • 如果您想显示这些属性的值,您似乎正在寻找数据绑定。

  • 如果这些属性中只有一个可以设置为true,您可以创建一组RadioButton 控件并将每个控件绑定到该类的相应属性。这样,单选按钮可用于显示/修改这些属性。
    注意:在这种情况下,最好有一个包含所有选项的枚举,并且只有一个类型的属性类中的枚举。

  • 如果多个属性可以有true 值,您可以使用一组CheckBox 控件并将它们绑定到类的相应属性。


无论如何,如果您想在属性网格中显示此类下拉菜单,您可以使用以下任一选项:

【讨论】:

  • 它列出了所有选项,但不是直接答案。我的问题很明确,但答案很笼统。反正。我会尝试。感谢您的关注。
  • 不客气,感谢您的反馈 :) 最简单的选项是使用枚举在属性网格中提供标准选项。但肯定最好仔细阅读答案:)
猜你喜欢
  • 1970-01-01
  • 2014-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多