彩票走势图

c# propertyGrid属性控件跟Htmlelement元素绑定

翻译|其它|编辑:郝浩|2006-06-26 13:54:00.000|阅读 2465 次

概述:

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>


加入一个propertyGrid

PropertyGrid propertyGrid1 = new PropertyGrid();
propertyGrid1.CommandsVisibleIfAvailable = true;
     propertyGrid1.Location = new Point(10, 20);
     propertyGrid1.Size = new System.Drawing.Size(400, 300);
     propertyGrid1.TabIndex = 1;
     propertyGrid1.Text = "Property Grid";

this.Controls.Add(propertyGrid1);

下面是事件触发

我们对<label>元素做例子

private void editocx_onDocumentmousedown()
{
     mshtml.IHTMLElement ele=editocx.getCurElement();
     if(ele==null)return;
     switch(ele.tagName.ToLower())
     {
          case "label":
          AdapterProperty(new LabelElement(ele));
          break;
          //省略其他
          default:
          break;
     }
}
AdapterProperty把对象赋值给propertyGrid的selectobject属性

private void AdapterProperty(object eleclass)
{
     propertyGrid1.SelectedObject=eleclass;
}

下面是htmlelement属性适配类,以label举例,并且对label的id和name这两个属性绑定


//Add by Alice.2005-7-8
public class PropertyAdapter
{
     public PropertyAdapter()
     {
          //
          // TODO: 在此处添加构造函数逻辑
          //
     }
     public static string getEleAttr(IHTMLElement e,string name)
     {
          if(e.getAttribute(name,0)==null)return "";
          return e.getAttribute(name,0).ToString();
     }
     public static void setEleAttr(IHTMLElement e,string name,string _value)
     {
          if(e.getAttribute(name,0)!=null){
          if(_value.Equals("")||_value==null)
          {
               e.removeAttribute(name,0);
               return;
          }
          e.setAttribute(name,_value,0);
          return;
     }
     if(_value.Equals("")||_value==null)return;
     e.setAttribute(name,_value,0);
  }
}
public class LabelElement
{
     private IHTMLElement e;
     [DescriptionAttribute("The rate in milliseconds that the text will repeat."),
     CategoryAttribute("Global Settings")]
     public string id
     {
          get
          {
               return e.id;
          }
          set
          {
               e.id=value;
          }
     }
     [CategoryAttribute("Global Settings")]
     public string name
     {
          get
          {
               return PropertyAdapter.getEleAttr(e,"name");
          }
          set
          {
               PropertyAdapter.setEleAttr(e,"name",value);
          }
     }
     public LabelElement(IHTMLElement ele)
     {
          e=ele;
     }
}


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP