2017-06-21 5 views
0

ステータスバーの内部に2つのステータスパネルがあります(一般的には、n)。ステータスバー内に2つのステータスパネルが表示されます。ステータスバーのステータスバーの半分になるようにする方法を教えてください。

このステータスバーは常に、ホスティングのWindowsフォームサイズで定義されたサイズ変更を取得します。

ここで、ステータスパネルの各(またはすべての)ステータスパネルに同じ量のステータスバーが表示されるようにする方法と、示されているように左から右にうまく積み上げる方法を確認する方法​​オブジェクトの順序で?

答えて

-1

フォームのResizeイベントにパネルのサイズを変更する関数を追加するだけです。 2つのパネルの場合、フォームの初期化関数にこのようなものを追加して、サイズ変更を処理する必要があります。 (C#を使用)

//To find to width of each panel, subtract 30 (or so, but your panels need to leave a little 
//space) from the width of the form, and then divide by number of panels. 

//Initialize the panel widths (If they aren't correct already) 
statusBarPanel1.Width = statusBarPanel2.Width = (Width - 30)/2; 

//Make the panel widths update if the form is resized 
Resize += (s, e) => statusBarPanel1.Width = statusBarPanel2.Width = (Width - 30)/2; 

パネルの順番は変更しないでください。そのため、心配する必要はありません。

+0

フォームのコンストラクタとForm Loadイベントでパネルの幅を手動で設定して、あなたの提案を試みましたが、どちらも動作しません。 – Graviton

+0

私のテストでは動作します。また、フォームのサイズ変更イベントの幅を設定しています。 –

関連する問題