DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

ToolStripItem(ツールバー、メニュー、ステータスバーの項目)の位置をユーザーが変えられるようにする

注意:ここで紹介している方法は、.NET Framework 2.0以降でのみ使用できます。

ToolStripコントロールのAllowDropプロパティをFalseとして、AllowItemReorderプロパティをTrueとすると、ユーザーがAltキーを押しながらToolStripItemをドラッグすることにより、その位置を変更することができます。

補足:AllowDropプロパティとAllowItemReorderプロパティの両方をTrueとすることはできません。

AllowItemReorder

ToolStripコントロールだけでなく、MenuStripやStatusStripコントロールも同じ方法でToolStripItemの位置を変更できるようになります。よって、ツールバーだけでなく、メインメニューやステータスバーの項目も移動が可能です。

ただし、AllowItemReorderプロパティをTrueとしても移動できないToolStripItemも多く存在します。ToolStripComboBox、ToolStripProgressBar、ToolStripTextBoxなど、ToolStripControlHostを継承したToolStripItemは移動できないようです。

補足:移動できないToolStripItemを移動させるためのヒントのひとつは、「あるToolStripItem(ツールバーの項目)の右側に指定したToolStripItemが常にあるようにする」にあります。

ToolStripItemの位置を保存、復元する方法は、「ToolStripとToolStripItem(ツールバー、メニュー、ステータスバーとその項目)の位置を保存、復元する」で説明しているように、ToolStripManager.SaveSettings、LoadSettingsメソッドを使うことです。

このような方法とは別に、ダイアログを表示してToolStripItemの順番と表示・非表示を変更するサンプルが、MSDNの「ToolStrip のカスタマイズ サンプル」(CustomizeToolStripプロジェクト)にあります。

  • 履歴:
  • 2014/9/15 タイトルを変更。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。