zoukankan      html  css  js  c++  java
  • 控件设计时的属性页定位办法

    控件设计时的属性页定位办法:
    取得IHtmlDocument3 就随心所欲了。

    public LabelComponentEditorForm(ComponentEditorLabel designComponent)
            
    {
                
    this.designComponent = designComponent;
                
                
    int innerLeft = Convert.ToInt32(designComponent.Style["clientX"]);
                
    int innerTop = Convert.ToInt32(designComponent.Style["clientY"]);

                IDesignerHost host 
    = (IDesignerHost) designComponent.Site.GetService(typeof (IDesignerHost));
                ControlDesigner labelDesigner 
    = (ControlDesigner) host.GetDesigner(designComponent);
                
    object parent = labelDesigner.Behavior.GetAttribute("document"false);
                IHTMLDocument2 doc 
    = (IHTMLDocument2) parent;
                mshtml.IHTMLWindow3 window 
    = (IHTMLWindow3) doc.parentWindow;
                
    int screenLeft = window.screenLeft;
                
    int screenTop = window.screenTop;
                
                
    this.Location = new Point(screenLeft + innerLeft, screenTop + innerTop);

                
    //
                
    // Windows 窗体设计器支持所必需的
                
    //
                InitializeComponent();

                
    //
                
    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
                
    //
            }

    效果如下:
  • 相关阅读:
    C#关键字operator
    .NET中各种相等
    Delphi开发能力自我评测
    Delphi7程序调用C#写的DLL解决办法
    两种类的声明方法
    delphi中 formclose的事件 action:=cafree form:=nil分别是什么意思?
    Delphi的对象注销方法Destroy和free的区别
    Delphi过程函数传递参数的几种方式
    Delphi语句、过程函数
    Delphi用Sender参数实现代码重用
  • 原文地址:https://www.cnblogs.com/xiaotaoliang/p/385951.html
Copyright © 2011-2022 走看看