5

Windows フォームのコントロールのサイズ変更とスケーリングに問題があります。コントロールがフォームとの比率を保つようにアンカーを設定しました。これはうまく機能します。ただし、フォームのスケーリングに合わせてコントロールの原点もスケーリングおよび変更されると思ったときは、期待しすぎていたのかもしれませんが、そうではなく、コントロールが重なっていることがわかりました。ここにいくつかのスクリーンショットがあります。

ここに画像の説明を入力

ここに画像の説明を入力

この問題を解決するために私が取ることができるアプローチを知っている人はいますか? おそらく、コントロールの原点をスケーリングする動的な描画ポイントに設定する必要がありますが、フォームのスケーリングまたは作成時にのみこれらを再描画しますか?

編集 1: この質問がインターネットに隠されているのを見つけました。問題: 固定されたコントロールが重なっています。おそらく、このようなサイズ変更イベントを実装する必要があります。

4

2 に答える 2

3

推奨されるソリューションはTableLayoutPanelです。ハンドリングOnResizeははるかに壊れやすくなります。

于 2012-07-03T09:31:54.707 に答える
1

アンカーは本当にスケーリングに関するものなのだろうか、基本的にコントロールの側面をコンテナに固定し、スケーリングはこれの副産物です。たとえば。左右の両方が固定されている場合、アンカーは左右の位置をそのまま維持しようとするため、コントロールの幅が拡大されます。

フォームのサイズが大きくなり、スペースが増えたときに何が必要かを考える必要があることを念頭に置いてください。上記の場合、リスト ボックスの lbLog は同じサイズのままである必要があるかもしれませんが、Simulate パネルは作成されたすべてのスペースを占有します。このようなシナリオでは、パネルを左側と右側の両方に固定し、リスト ボックスを右側にのみ固定します。

基本的に、すべてのコントロールを比例してスケーリングする場合 (アンカーの場合のスケーリングとは対照的に、真のスケーリングと言えます)、アンカーは適切なソリューションではありません。

于 2012-07-03T09:28:52.880 に答える