Ric*_*ler 5 .net c# windows-forms-designer winforms
我想在一个控件中创建一个属性,该控件将充当一个能够连接到另一个非可视控件以显示其当前状态的查看器.在这个例子中,假设观众只会显示在线或离线的状态.
我希望能够删除一个非可视化控制,让我们把它叫做Heater类型IHeater,形式,然后掉落HeaterMonitor.我想进入HeaterMonitor和自定义Source属性的属性,查看IHeaters表单上当前所有的列表.
选择属性中的instance(Heater1)Source将订阅HeaterMonitor1生成的所有状态更新Heater1.
是否存在我可以作为模板遵循的现有模式?
如果它有所作为,我可以使用.net 3.5及更高版本.我选择data-binding了标签,但我不确定这是否正确,因为这不是数据库问题.但它似乎与DataGridView选择一个DataSource属性相似.
编辑#1:
根据到目前为止的评论,我认为我没有强调我想要得到的东西.我希望属性编辑器列出IHeater表单上符合条件的控件.我在创建IHeater可以在运行时分配的常规属性时没有问题.
要拥有可在设计器中在设计时使用的非UI元素,您可以继承Component.
using System.ComponentModel;
public interface IHeater
{
int Temperature { get; set; }
}
public class Heater : Component, IHeater
{
public int Temperature
{
get;
set;
}
}
public class HeaterMonitor:Component
{
public IHeater Source { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后您可以在设计模式中使用它们(在组件托盘中):
并以这种方式选择源:
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |