Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 在其他地方更改属性值时更新PropertyGrid中的属性?_Winforms_Properties_Propertygrid - Fatal编程技术网

Winforms 在其他地方更改属性值时更新PropertyGrid中的属性?

Winforms 在其他地方更改属性值时更新PropertyGrid中的属性?,winforms,properties,propertygrid,Winforms,Properties,Propertygrid,我们有一个使用PropertyGrid的SelectedObject属性分配给PropertyGrid的对象。此对象包含一些属性,这些属性在不同的位置由代码更新。在本例中,假设一个是一个简单的更新(即:由以下代码-Person.FirstName=“Gareth”引起),而另一个则稍微复杂一点;从开始时间算起的持续时间(即:Person.AgeInSeconds) 有人知道最简单的方法是当属性值发生变化时,在PropertyGrid中自动更新这些属性的值吗 提前感谢, Nick尝试将INotif

我们有一个使用PropertyGrid的SelectedObject属性分配给PropertyGrid的对象。此对象包含一些属性,这些属性在不同的位置由代码更新。在本例中,假设一个是一个简单的更新(即:由以下代码-Person.FirstName=“Gareth”引起),而另一个则稍微复杂一点;从开始时间算起的持续时间(即:Person.AgeInSeconds)

有人知道最简单的方法是当属性值发生变化时,在PropertyGrid中自动更新这些属性的值吗

提前感谢,


Nick

尝试将INotifyPropertyChanged接口添加到对象,然后在setter中更新属性时引发事件。我不确定PropertyGrid是否查找并侦听此接口,但值得一试


如果没有,你可以自己做。因此,每次分配给SelectedObject时,都会钩住INotifyPropertyChanged接口更新事件,并在激发时获取要刷新的PropertyGrid。从SelectedObject中删除时,您将删除事件挂钩。

尝试将INotifyPropertyChanged接口添加到对象中,然后在setter中更新属性时引发事件。我不确定PropertyGrid是否查找并侦听此接口,但值得一试

如果没有,你可以自己做。因此,每次分配给SelectedObject时,都会钩住INotifyPropertyChanged接口更新事件,并在激发时获取要刷新的PropertyGrid。当它从SelectedObject中删除时,您将删除事件挂钩