私はシンプルSystem.Windows.Forms.Form
です。ビジネス要件に基づいて、バックグラウンド処理の結果として特定の機能が利用可能になったら、フォームのサイズを大きくし、以前は非表示だった領域を追加のコントロール (ボタンなど) で開きます。フォームのサイズの変更は、バックグラウンド スレッドによって行われ、BeginInvoke
.
これはすべて正常に機能します。ただし、ユーザーが画面上でフォームをドラッグしているときに、たまたまフォームのサイズを変更するメソッドが呼び出された場合、サイズの変更は有効になりません(技術的にはフォームのサイズは変更されますが、瞬間的に元のサイズに戻ります)。 )。
プロパティを設定してフォームのサイズを変更していますが、設定や呼び出しForm.Size
などの他の方法を試しました。/と強制も試しました。Form.ClientSize
Form.SetBounds()
Form.SuspendLayout()
Form.ResumeLayout()
Form.PerformLayout()
これまでに試したことは何もありません。フォームを移動すると、フォームのサイズが変更されません。