首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 自定义控件,自定义属性编辑器怎么获取相应组建中其他属性值

2012-11-08 
C# 自定义控件,自定义属性编辑器如何获取相应组建中其他属性值自定义控件 设置了个自定义属性,自定义属性

C# 自定义控件,自定义属性编辑器如何获取相应组建中其他属性值
自定义控件 设置了个自定义属性,自定义属性有自定义编辑器,自定义编辑器需要根据自定义控件其它的属性之筛选数据,
如何取到这个自定义控件的其他属性值。

C# code
public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, System.IServiceProvider provider, object value)        {            System.Windows.Forms.Design.IWindowsFormsEditorService service =(System.Windows.Forms.Design.IWindowsFormsEditorService)provider.GetService(typeof(System.Windows.Forms.Design.IWindowsFormsEditorService));            if (service == null)            {                return null;            }            PropertyWindow form = new PropertyWindow();          form.TableName="这里需要这个自定义控件的其他属性值";            if (service.ShowDialog(form) == DialogResult.OK)            {                return form.SelectedValue;            }            return value;        }


[解决办法]
1.取到对象就可以 使用了啊, 如果权限不够 把 modif 那个属性 改成 Public 
2.对象 定义一个公共属性 来做值传递。
3.如果需要扩展事件的方式那就 委托。
[解决办法]
一般可以用ITypeDescriptorContext中拿到编辑对象。假设自定义控件叫MyControl,那么:
C# code
MyControl my = context==null ? null : context.Instance as MyControl;if(my != null){    form.TableName = my.XXX;} 

热点排行