StatusStripのコントロールを右揃えするにはどうすればよいですか?


93

のコントロールを右揃えにしようとしていStatusStripます。どうやってやるの?

ToolStripItem親での物理的な配置を指定するコントロールに設定するプロパティが表示されませんStatusStrip

メッセージドロップダウンを正しく配置するにはどうすればよいですか?http://i.friendfeed.com/ed90b205f64099687db30553daa79d075f280b90


4
Springプロパティをtrueに設定して、ラベルツールバー項目を作成します。詳細:dotnetperls.com/statusstrip (PSはい、私はそれが古い質問であることを知っています。)
Nick Alexeev

回答:


228

投稿後すぐに、MSDNフォーラムから見つけました:)

プロパティをに設定し、プロパティをに設定することでToolStripLabel、コントロールを擬似右揃えに使用できます。これにより、すべての使用可能なスペースが埋められ、すべてのコントロールが上部の右側にプッシュされます。Textstring.EmptySpringtrueToolStripLabel


28
これは(デフォルトの)StatusStrip.LayoutStyle == ToolStripLayoutStyle.Table
AZの

13
いいね。どちらかの側にSpringがあるStatusStripLabelがコントロールの中央に表示されます
mcdon

これを行う「本当の」方法があったらいいのにと思いますが、これでうまくいきました。Alignment私のアプリケーションでは何もしなかったので、プロパティは何をしているのだろうと思います。
TheGateKeeper 2014年

2
Alignmentプロパティには何があるのでしょうか。そのようなプロパティは表示されません。
TaW

これにより、「春」のラベルが付いた後の1つの項目のみが許可され、他の項目は表示されなくなります。代わりに@VBobCatメソッドを使用してください。
パブロカラスコエルナンデス

14

私にとっては、2つの簡単な手順を実行しました。

  1. 設定するMyRightIntendedToolStripItem.AlignmentにはRight
  2. 設定するMyStatusStrip.LayoutStyleにはHorizontalStackWithOverflow

5

追加の注記として、これは、Win32 APIではセルが固定幅であるか、残りのスペースを埋めるという事実によるものです-1

int statwidths[] = {100, -1};

SendMessage(hStatus, SB_SETPARTS, sizeof(statwidths)/sizeof(int), (LPARAM)statwidths);
SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)"Hi there :)");

メモリが正しく機能する場合は、ステータスバーごとに1つのフィルセル(-1)しか持てません。

3番目の中央セルを追加し、これにfillプロパティを指定して、より一貫性のあるStatusBarを取得することもできます。メッセージが期待するところの左右に差し込みがあるので、一貫しています。StatusBarsのMSDNページにあるmspaintショットに少し似ています

私はクリエイティブなアプローチが好きです:D


これは、フルマネージドコードであるStatusStripsではなく、StatusBarsに有効です。
Filip

3

以下のロジックを使用Buttonして、の最後にを表示できStatusStripます。

  1. にを追加ToolstripLabelしますStatusStrip
  2. テキストを次のように設定 string.Empty
  3. セットPaddingToolstripLabel

例えば:

this.toolStripStatusLabel1.Padding = new Padding((int)(this.Size.Width - 75), 0, 0, 0);

3番目の中央のセルを追加し、これにfillプロパティ を指定します。このようなプロパティはありません。
TaW

2

ツールストリップのラベルを保持し、Springプロパティをtrueに設定し、BottomLeftのラベル配置テキスト


1

StatusStripレイアウトをHorizo​​ntalStackWithOverflowに設定できることがわかりました。次に、右側に表示するStatusStripの各コントロールについて、コントロールのAlignmentをRightに設定します。

調整するために追加のコントロールやダミーのコントロールは必要ないので、私はこれがより好きです。


-2

でコントロールの位置を設定する一般的な方法を見つけましたStatusStripStatusStrip以下の手順を使用して、ボタンをの任意の位置に表示できます。

  1. StatusStripにToolstripLabelを追加します。
  2. 次のような適切なスペースとしてテキストを設定します

    toolStripStatusLabel1.Text ="";

  3. レイアウトが希望どおりでない場合は、ステップ2でのスペースの量を変更しtoolStripStatusLabel1.Textます。それ以外の場合は、作業が完了しています。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.