C# 如何更新自定义控件在属性面板被修改的属性

来源:百度知道 编辑:UC知道 时间:2024/09/21 08:24:33
我自己做了一个控件。
用它的时候,我在又测的属性栏修改了它的属性,比如说text,但是它依然没有立即变化,调试运行时对应的属性值还是没有变。
这里需要在哪里添加些什么代码吗?
我的意思是要像自带的控件那样,比如说label,在右边的属性面板修改属性后,在设计面板就立即更新。
这个问题偶已经搞定了。在get和set代码后添加刷新代码。
但现在的问题是,比如我的属性A是一个数组,我在右边的属性面板上它就有一个+号,点击属性A右边的...符号,修改,在设计面板就会相应的更新。

用invalidate()很好
但是依然会存在以下问题:
但是如果我把+号点开,修改单个元素,左边的设计面板还是不会及时更新……
。。。。
这个在哪里添加更新代码呢?。。。
不知道怎么办啊。。。
====================
我属性A就一个set和get啊
public Color[] UserColor
{
get { return sr; }
set { sr = value; ReFreshState(); }
}
在这里添加刷新代码。就是上面的情况。
数组属性是什么意思?在哪里添加?

你要把你自定义的text属性赋给画面显示的项目才能显示啊

在属性set
{
this.fff = value;
添加以下代码:
this.Invalidate()
}

同样的道理, 你在数组属性中通知主窗体重画。
可以采用事件, 接口,回调等多种方法。