我正在尝试使用C#.Net制作我的winforms应用程序,解决方案友好。我试图通过根据屏幕分辨率的比例调整所有控件的大小来编程。但它并不能在各种形式下提供完美的分辨率。
答案 0 :(得分:4)
我试图通过根据屏幕分辨率的比例调整所有控件的大小来编程方式。
我认为你混合了两件事。
要将表单调整为 Windows DPI设置(使控件更小或更大),您不需要做任何事情,这是自动执行的。只需更改DPI settings并检查效果。
要使表单适应实际的分辨率,只需确保表单可以调整大小(并且控件已停靠)或不可调整大小的对话框将至少显示一些滚动条如果分辨率太小。如果您有派生表单或用户控件,锚点可能会很痛苦,但您始终可以使用docking。
答案 1 :(得分:2)
您还可以使用锚点大小发生变化的某些分辨率断点。例如,在1024x768 1600x900 1920x1080时,控件都会更改为设置大小,在它们之间只需要最接近的分辨率断点(1200x900需要1024x768)。
我经常试图让它们完全动态,我一直在处理它。调整大小后,只需调用一个检查当前大小的函数,如果需要调整所有锚点的大小。