.NET 5.0 OnCreateHandle 覆盖未被调用

问题描述

我有一个简单的控件来重现这个问题:

[Designer(typeof(TestDesigner))]
public class NETFrameworkControl : Control
{
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);

        e.Graphics.FillRectangle(Brushes.Red,e.ClipRectangle);
    }

    public class TestDesigner : System.Windows.Forms.Design.ControlDesigner
    {
        protected override void OnCreateHandle()
        {
            base.OnCreateHandle();
            MessageBox.Show("OnCreateHandle");
        }
    }
}

当我在 .NET Framework 中构建此控件,然后将其拖到 .NET Framework Windows 窗体设计图面时,会调用 OnCreateHandle 并显示 MessageBox。但是,当我在 .NET 5.0 (net5.0-windows) 中使用 UseWindowsForms true 构建此控件,然后将其拖到 .NET 5.0 Windows Forms 设计图面上时,OnCreateHandle 调用,而 MessageBox调用显示

有人知道这个问题是否有解决方法吗?谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)