注意:ここで紹介している方法は、.NET Framework 2.0以降でのみ使用できます。
ToolStripコントロールのAllowDropプロパティをFalseとして、AllowItemReorderプロパティをTrueとすると、ユーザーがAltキーを押しながらToolStripItemをドラッグすることにより、その位置を変更することができます。
補足:AllowDropプロパティとAllowItemReorderプロパティの両方をTrueとすることはできません。
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プロジェクト)にあります。
(この記事は、「.NETプログラミング研究」で紹介したものを基にしています。)
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。