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 调用后添加任何构造函数代码
                
    //
            }

    效果如下:
  • 相关阅读:
    vue-router路由知识补充
    vue-router路由模式详解
    Linq To Sql的各种查询
    消息队列系列(四):Rabbitmq常用命令行
    产品发布之我见
    利用LogParser分析IIS日志
    SqlServer_删除重复行只保留一条记录
    SqlServer_合并多个递归查询数据(CTE)
    rabbitmq_坑
    mongodb_性能监控
  • 原文地址:https://www.cnblogs.com/xiaotaoliang/p/385951.html
Copyright © 2011-2022 走看看