在C#ActiveX控件中处理父控件事件
我用C#编写了一个ActiveX用户控件。ActiveX控件托管在运行在用Delphi编写的IE中的遗留应用程序中。 一切正常,我唯一的问题是我需要订阅托管我的控件的事件(例如-调整事件大小) 目前我无法做到这一点,当我调整IE窗口的大小时,我的控件没有得到在C#ActiveX控件中处理父控件事件,c#,interop,activex,winforms-interop,C#,Interop,Activex,Winforms Interop,我用C#编写了一个ActiveX用户控件。ActiveX控件托管在运行在用Delphi编写的IE中的遗留应用程序中。 一切正常,我唯一的问题是我需要订阅托管我的控件的事件(例如-调整事件大小) 目前我无法做到这一点,当我调整IE窗口的大小时,我的控件没有得到SizeChanged事件。我试图订阅父控件的事件,但父控件列为null。(我想这是德尔福的问题。) 我想知道是否有办法让它工作(我可能需要实现一些接口?) 下面是我的控件的代码示例: [ ClassInterface
SizeChanged
事件。我试图订阅父控件的事件,但父控件列为null。(我想这是德尔福的问题。)
我想知道是否有办法让它工作(我可能需要实现一些接口?)
下面是我的控件的代码示例:
[
ClassInterface(ClassInterfaceType.AutoDispatch),
ComVisible(true),
Guid("<some guid>"),
]
public partial class MyActiveXControl : UserControl, IMyInterface
{
public MyActiveXControl()
{
InitializeComponent();
}
#region IScriptViewer Members
//implement interface
#endregion
}
[
ClassInterface(ClassInterfaceType.AutoDispatch),
ComVisible(真实),
Guid(“”),
]
公共部分类MyActiveXControl:UserControl,IMyInterface
{
公共MyActiveXControl()
{
初始化组件();
}
#地区IScriptViewer成员
//实现接口
#端区
}
如何处理网页中的控件大小。例如,获取/changes,然后手动设置控件的边界。如果希望控件中的控件重新排列它们,则可能调用控件的OnSize事件。如何处理网页中的控件大小。例如,获取/changes,然后手动设置控件的边界。如果您希望控件中的控件重新排列它们,那么可能会调用控件的OnSize事件。我的问题是,我所在的网页上没有任何控件。因此,使用javascript不是我的选择。也许我可以通过这种方式获取IE窗口的指针和大小,但我希望获取SizeChanged事件,而不是每次手动检查窗口大小不确定,但我会研究一些可以委托浏览器事件的内容-“一些方法”-对ActiveX控件进行修改,以便它做出相应的反应。我的问题是,我所在的网页上没有任何控件。因此,使用javascript不是我的选择。也许我可以通过这种方式获取IE窗口的指针和大小,但我希望获取SizeChanged事件,而不是每次都手动检查窗口大小不确定,但我会研究将浏览器事件(“某种方式”)委托给ActiveX控件,以便它做出相应的反应。