如何在WinForms中制作屏幕分辨率感知程序

时间:2017-04-19 02:31:50

标签: c# vb.net winforms screen

大家好我有问题,我在环境中设计了一个屏幕分辨率为1600x900的程序,问题是当我尝试在其他分辨率下执行程序时,例如1366x768我的所有按钮,面板等都被裁剪在窗口,这里是1600x900 Example的例子,这里是1366x768 Example我使用了锚和填充属性但它不起作用,你知道任何属性或解决方案来解决这个问题,我会非常感激

1 个答案:

答案 0 :(得分:0)

核心属性也尝试使用拆分容器,它会根据分辨率

自动调整表单大小

尝试在表单加载

上使用此代码
public void abrunden(object was, int x, int y, int width, int height, int radius)
{

    System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();

    gp.AddLine(x + radius, y, x + width - radius, y);
    gp.AddArc(x + width - radius, y, radius, radius, 270, 90);
    gp.AddLine(x + width, y + radius, x + width, y + height - radius);
    gp.AddArc(x + width - radius, y + height - radius, radius, radius, 0, 90);
    gp.AddLine(x + width - radius, y + height, x + radius, y + height);
    gp.AddArc(x, y + height - radius, radius, radius, 90, 90);
    gp.AddLine(x, y + height - radius, x, y + radius);
    gp.AddArc(x, y, radius, radius, 180, 90);
    gp.CloseFigure();

    was.region = new System.Drawing.Region(gp);
    gp.Dispose();
}

调用此用法

  1. 在表单中使用一个面板,并使用表单

  2. 将面板名称宽度和高度传递给方法

  3.   

    abrunden(panWarten,0,0,_with1.Width,_with1.Height,20);

    这将使表单按照屏幕响应