处理C#ActiveX控件中的父控件事件

时间:2010-02-23 12:22:16

标签: c# interop activex

我在C#中编写了一个ActiveX用户控件。该ActiveX控件托管在以Delphi编写的IE中运行的遗留应用程序中。 一切正常,我唯一的问题是我需要订阅托管我的控件的事件(例如 - resize事件)。

目前我无法做到这一点,当我调整IE窗口大小时,我的控件没有得到SizeChanged事件。我试图订阅父控件的事件,但父控件列为null(我猜这是Delphi问题)

我想知道是否有办法让这个工作(我必须实现一些接口?)

这是我控制代码的一个例子:

    [
        ClassInterface(ClassInterfaceType.AutoDispatch),
        ComVisible(true),
        Guid("<some guid>"),
    ]
    public partial class MyActiveXControl : UserControl, IMyInterface
    {

        public MyActiveXControl()
        {
            InitializeComponent();
        }

        #region IScriptViewer Members

        //implement interface

        #endregion

    }

谢谢!

1 个答案:

答案 0 :(得分:0)

如何处理WebPage中的控件大小。例如,获取browser window size /更改,然后手动设置控件的边界。如果你想让控件中的控件重新排列它们,那么可能会调用控件的OnSize事件。