Menustripコントロールは、レイアウトスタイルをStackWithOverFlowに設定できますか?

StackOverflow https://stackoverflow.com/questions/4726551

  •  12-10-2019
  •  | 
  •  

質問

メノーストリップでシンプルなフォームを作成します。メノーストリップの LayoutStyle に設定されています HorizontalStackWithOverflow (デフォルト)。

による MenustripのMSDNリファレンス, 、 これは レイアウトスタイル プロパティはToolStripから継承されます。レイアウトスタイルの可能な値の1つはです HorizontalStackWithOverflow これもデフォルト設定です。この設定は、アイテムを提供する必要があります Overflow 網に設定されたプロパティは、オーバーフローボタンに移動します。

アプリケーションを実行してフォームをサイズ変更してメニューが完全に収まらないようにすると、これは発生しません。 ToolStripMenuitems Overflow Propertyをasoneedに設定しましたが、フォームを変更すると、右側のメニュー項目が消えます。

ドキュメントは間違っていますか?メノーストリップではなく、ツールストリップでオーバーフローバットンを取得できますか?それとも、物事を機能させるために私がしなければならないことはありますか?それとも、ドキュメントを誤解しているだけですか?

役に立ちましたか?

解決

私は同じ問題を抱えていて、それを機能させる方法を見つけました。

メノーストリップでは、設定する必要があります。

myMenuStrip.CanOverflow = True

デフォルトはfalseです。

次に、各メニューエムについて、あなたは設定する必要があります:

myToolStripMenuItem.Overflow = ToolStripItemOverflow.AsNeeded

また

myToolStripMenuItem.Overflow = ToolStripItemOverflow.Always

デフォルトはToolStripIteMoverflow.neverです

参考文献:

Menustrip.canoverflow

ToolStripMenuitem.Overflow

他のヒント

Toolstripクラスには、このような毛がたくさんあります。ここでの適切な選択は、メニュー項目をラップするためのレイアウトスタイル=フローだと思います。これは、組み込みのWindowsメニューの動作方法です。

ただし、これが引き起こすレイアウトの問題を処理する必要があります。フォームにドック=塗りつぶしのパネルを置いて、メニューストリップがより多くのスペースが必要なときにすべてのコントロールが自動的に下に移動するようにします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top