C# 在运行时绘制的自定义控件会收缩,但在设计器中不会收缩

C# 在运行时绘制的自定义控件会收缩,但在设计器中不会收缩,c#,winforms,windows-forms-designer,C#,Winforms,Windows Forms Designer,我在VS2013中创建了一个非常简单的用户控件。我的整个过程是:添加->新建->用户控件,将其大小属性设置为16、16,并覆盖OnPaint以包含以下内容: VisualStyleRenderer treeClose = new VisualStyleRenderer(VisualStyleElement.TreeView.Glyph.Closed); treeClose.DrawBackground(e.Graphics, new Rectangle(0, 0, 16, 16)); 然后,我

我在VS2013中创建了一个非常简单的用户控件。我的整个过程是:添加->新建->用户控件,将其大小属性设置为16、16,并覆盖OnPaint以包含以下内容:

VisualStyleRenderer treeClose = new VisualStyleRenderer(VisualStyleElement.TreeView.Glyph.Closed);
treeClose.DrawBackground(e.Graphics, new Rectangle(0, 0, 16, 16));
然后,我将控件添加到项目的主窗体中。在设计视图中,它正确地绘制在表单上,但在运行时,它似乎缩小到约12x12,背景为16x16:

我试着在一个新项目中的一个新空白表单上添加它,只是为了检查,结果是一样的。在Windows8.1或类似的版本中,我没有任何非默认的缩放或样式设置


为什么会发生这种情况?

尝试以下操作:在控制面板中,将DPI设置更改为100%。您可以在“控制面板>外观和个性化设置>显示>更改所有屏幕的大小”下找到此选项items@Abhishek在100%的情况下,它在运行时被正确绘制,尺寸在视觉上匹配,看起来像上面两个中的较小者。。。奇怪的是125%是默认值。更让人困惑的是,我已经将其更改回125%,现在它在运行时正确绘制,所以两者看起来都像上面的较大值。很奇怪,我之前遇到过这样的问题。我能做的最大的事情就是根据谷歌搜索将DPI设置为100。从那以后,我再也追不上了。。将dpi更改回125%后,您必须注销并登录才能使更改生效。