zoukankan      html  css  js  c++  java
  • 自定义控件UITypeEditor

    一、UITypeEditor

      提供可用于设计值编辑器的基类,这些编辑器可提供用户界面 (UI),用来表示和编辑所支持的数据类型的对象值。简单来说,就是在propertyGrid中的属性,有两种方式:

      一种是下拉选择格式,类似于设计器的“字体”格式,下来选择“宋体”等类型,一种是带三点“...”的按钮格式,通过单据按钮弹出用户定义的窗体或者操作。

         通过继承UITypeEditor类型,重写GetEditStyle方法(确定属性的格式是下拉或者按钮),EditValue方法(返回属性值)

      

     1  public class MyUIEditor : UITypeEditor
     2     {
     3         public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
     4         {
     5             return UITypeEditorEditStyle.DropDown;
     6         }
     7 
     8         public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
     9         {
    10             IWindowsFormsEditorService editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
    11             Form2 from = new Form2();
    12             editorService.ShowDialog(from);
    13             return base.EditValue(context, provider, value);
    14         }
    15     }
    View Code
     1  private string _id1 = string.Empty;
     2 
     3         [Browsable(true)]
     4         [DisplayName("编号")]
     5         [Category("自定义")]
     6         [Description("控件唯一编号")]
     7         [Editor(typeof(MyUIEditor), typeof(UITypeEditor))]
     8         public string ID1
     9         {
    10             set
    11             {
    12                 _id1 = value;
    13             }
    14             get
    15             {
    16                 return _id1;
    17             }
    18         }
    View Code

       使用情况:当需要自定义属性的赋值信息时候,可以通过这样方式进行赋值

         MSDN

  • 相关阅读:
    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决方法
    Ubuntu 修改host并重启网络
    Ubuntu批量修改权限
    win10 vm 11 桥接模式配置
    Ubuntu获取root 权限,开机自动登入root
    ptxas fatal : Unresolved extern function Error 255
    Ubuntu 16.04 LTS安装 TeamViewer
    SSD win7优化步骤
    正则表达式
    C语言中,float在内存中的储存方式
  • 原文地址:https://www.cnblogs.com/hedongsong/p/4570069.html
Copyright © 2011-2022 走看看