1

我已经通过 COM-Interop 将 WinForms 控件编写为 ActiveX,到目前为止它在 MS Access 中运行良好。但问题在于访问显示视图上的表单与设计视图中的表单大小不同。我试图通过获取 ContainerControl 来设置初始化大小。但我没有返回正确的值。

    public DummyCtrl()
    {
        this.Dock = DockStyle.Fill;
        this.AutoSize = true;

        var axC = (Control)this.GetContainerControl();
        this.Width = axC.Width;
        this.Height = axC.Height;

        InitializeComponent();
    }

GetContainerControl()包含一个"ControlAxSourcingSite[WFControl.DummyCtrl]"对象。

我不确定如何在初始化元素之前获得正确的值。有任何想法吗?

4

1 回答 1

1

所以我自己找到了。;)

正确的做法是:

public DummyCtrl()
{ 
    this.Size = PreferredSize;
    InitializeComponent();
}

我建议这可能适用于每个表单控件。祝你今天过得愉快...

于 2013-06-17T11:59:59.973 回答