8

C# で Windows フォームのズーム レベルを設定する簡単な方法はありますか? VBA には、フォームのズーム プロパティがありました。

4

3 に答える 3

13

私は同じ問題を抱えていて、C#でこの方法で解決しました。コードがフォームの読み込みに入る

float scaleX = ((float)Screen.PrimaryScreen.WorkingArea.Width / 1024);
float scaleY = ((float)Screen.PrimaryScreen.WorkingArea.Height / 768);
SizeF aSf = new SizeF(scaleX, scaleY);
this.Scale(aSf);

この "多かれ少なかれ" スケール フォームとすべての子。800x600 (?) で永久にループします。次のフォーム プロパティを設定する必要があります。

AutoscaleMode = Font
AutoSize = False
于 2008-11-17T16:25:37.430 に答える
0

典型的なWinFormsであなたが求めていることを行う方法はありません(私が知っている)。

カスタムのペイント/描画を行っている場合は、ズーム変換を使用してズームできますが、私の知る限り、.NET とネイティブの Windows/C++ API を組み合わせた世界全体で、フォームの「ズーム」プロパティはありません。 .

一定の係数でコントロールをスケーリングするように、おそらく自分で何かをリグすることができます。おそらく、これをサポートするサードパーティのコントロール/サーフェスを見つけることができます。そして、WPF で何ができるかは誰にもわかりません。しかし、典型的な WinForms の世界では、違います。

于 2008-08-30T03:55:38.413 に答える