5

I have a C# form with a sizable border. I'd like to set the minimum size to (850, 760) (the default starting size), but when I try to set the value in the form properties menu it keeps changing it to (850, 720). I tried setting it by code as follows:

this.minimumSize = new System.Drawing.Size(850, 760);

but when I run the code I can still shrink my form vertically. Does anyone have any ideas as to what the problem might be?

EDIT: I'm using two monitors, one standard 1280x1024 and the other widescreen 1366x768, could that be the problem? In that case is there some way to test the user's monitor resolution and set the minimum size based on that?

4

3 に答える 3

3

実行時に実行されるコードの多くは、設計時にもアクティブです。これにより、Winforms デザイナは非常に優れた WYSIWYG ユーザー インターフェイスを使用できますが、残念な副作用がいくつかあります。デザイナーをクラッシュさせて、ダーンの白い画面を表示することを含みます。または、この Web サイトの名前をトリップすると、VS がデスクトップにクラッシュします。

これはそのような副作用の 1 つで、ランタイム コードは MinimumSize を Screen.WorkingArea に制限し、設計時にも制限します。(0, 3000) と入力してみてください。コードでプロパティを割り当てることで強制できます。

于 2013-04-30T19:47:14.583 に答える