2017-04-19 13 views
-1

こんにちはみんな私は画面の解像度が1600x900である環境でプログラムを設計しました。問題は他の解像度でプログラムを実行しようとしたときです1366x768すべての私のボタン、パネルなどがウィンドウで切り取られています。ここでは1600x900の例がExample、ここでは1366x768です。Exampleアンカーと塗りつぶしのプロパティを使用しましたが動作しません。非常に感謝しWinFormsで画面解像度認識プログラムを作成する方法

+0

ごとにこのフォーム応答になります。このリンクを参照してください[Anchor Property MSDN](https://msdn.microsoft.com/en-us/library/system.windows.forms.control.anchor(v = vs.110).aspx) –

+0

@ P.Pat So基本的に彼が試したと言ったことは? – john

+0

@john OPは彼がアンカーと記入を試みたと言った。私は問題を修正する際にOPを導くアンカーとドックのプロパティを読むことを提案しました。 –

答えて

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. 方法

にフォームドックで

使用1枚のパネルをこのフォームで

  • パスパネル名の幅と高さを、次のこの使用を呼び出します

    abrunden(panWarten、0、0、_with1。幅、_with1.Height、20);

    あなたはリサイズを扱うときに、アンカーとドックプロパティを読み取ることによって、この問題を解決することができ、画面

  • 関連する問題