当属性更改值时,在 C# Windows 窗体中定义事件[重复]

Posted

技术标签:

【中文标题】当属性更改值时,在 C# Windows 窗体中定义事件[重复]【英文标题】:Define an event in C# windows form when a property has changed value [duplicate] 【发布时间】:2019-05-19 03:34:21 【问题描述】:

我有一个非常基本的类,它有 1 个这样的属性:

public class NodeItem

    private object _Value;

    public object Value
    
        get  return _Value; 
        set  _Value = value; 
    

Value 属性的值发生变化时,如何定义事件?

【问题讨论】:

定义一个事件并在属性的设置器中设置值并在值发生更改时触发事件。你可以在set 中使用多行 【参考方案1】:

这是一个简单的例子

public event PropertyChangedEventHandler PropertyChanged;

private object _Value;
public object Value

    get  return _value; 
    set
    
        _value = value;
        // Call OnPropertyChanged whenever the property is updated
        OnPropertyChanged(value);
    



protected void OnPropertyChanged(object val)

    PropertyChangedEventHandler handler = PropertyChanged;
    if (handler != null)
    
        handler(this, new PropertyChangedEventArgs(val));
    

Reference

用于订阅事件

void MyEventSubscription(object sender, CustomEventArgs a)  
  
    // Do something useful here.  
  

myClassInstance.PropertyChanged += MyEventSubscription;

【讨论】:

非常感谢。以及如何在我的代码中使用它。

以上是关于当属性更改值时,在 C# Windows 窗体中定义事件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

C# winform 跨线程更改窗体控件的属性

如何通过在 C# windows 窗体中的文本框中输入来更改图像的大小?

c#如何创建/设置windows窗体用户控件属性获取简单消息弹窗

在 C# 中为 Windows 窗体创建向导

在 C# 中将 Windows 窗体属性绑定到 ApplicationSettings 的最佳方法?

在 C# windows 窗体中的树视图中面临问题,详细信息如下: