C# UserControl停靠点/锚点不工作

C# UserControl停靠点/锚点不工作,c#,.net,winforms,C#,.net,Winforms,下面是一个完全简单的案例: 我创建了一个用户控件。并在右上角添加了一个按钮 I停靠。填充表单1中的用户控件 执行时,按钮不在正确的位置(尽管它在设计器中) 截图: UserControlDesigner: 表单设计器: 执行: 执行,调整大小。正如你所看到的,这无助于: 我试着把电脑的文本大小从125%改为100%,但也没用。Windows10与2017.NET4.7.1相比。我还尝试在其Load和ParentChanged事件处理程序及其构造函数中设置UserControl的Dock。

下面是一个完全简单的案例:

  • 我创建了一个用户控件。并在右上角添加了一个按钮
  • I停靠。填充表单1中的用户控件
  • 执行时,按钮不在正确的位置(尽管它在设计器中)

    截图:
    UserControl
    Designer:

    表单
    设计器:

    执行:

    执行,调整大小。正如你所看到的,这无助于:

    我试着把电脑的文本大小从125%改为100%,但也没用。Windows10与2017.NET4.7.1相比。我还尝试在其
    Load
    ParentChanged
    事件处理程序及其构造函数中设置UserControl的Dock。没有变化

    那么,如何让按钮保持固定

    编辑(似乎与文本大小不同于100%有关)


    经过多次修改,我现在看到,在我更改为100%大小的文本(在系统显示下的设置应用程序中,包括注销和打开)后,清理并重新生成解决方案,然后更改回125%,它可以工作一段时间。我找不到确切的限制。

    @ispiro,请尝试在VisualStudio过程中禁用DPI感知,看看是否有帮助。下面是一篇博客文章,指定要设置的注册表项:

    在UC或覆盖它的表单中必须有一些调整大小的代码。根据你的写作,它应该会起作用。检查UC和表单中的事件是否存在任何设置宽度的内容(尤其是按钮宽度)@亚伦,我很感激你在测试这个!我可以看出你的测试很好。不幸的是,我的代码和我写的一模一样。我从一个干净的Winforms模板开始,只添加了我编写的内容。根本没有其他代码!。您运行的环境是否与我相同?(Win10 Fall Creators更新,VS2017,应用程序是.net 4.7.1)我在Win10 Pro上的4.6.1上做的。我现在甚至没有安装4.7。给我一些,我可能无论如何都需要安装它。@Aaron不需要。我又开始玩所有的东西了,因为我看到你的例子在工作,虽然它已经有了Dock作为Fill-我把它改成了None,让它再次充满,现在它似乎工作了。(在此之前,我已经尝试过重建,但没有任何帮助)。我只是在测试这实际上是个问题,一个小小的VS错误……它不再起作用了……这是一个我没有考虑过的选项——问题在于VS设计师。谢谢我想这就是答案。这是可行的,但Visual Studio中的模糊字体不太好。。。是否有关于该主题的新闻,尤其是关于框架4.7.1的新闻?