|
分類:[VB.NET/VB2005 以降]
いつもお世話になっております。 VB2008で、メニューバー(MenuStrip)を利用しています。 親メニュー(ここでは「メニュー1」します)に、以下のような表示がなされているToolStripMenuItemがぶら下がっているとします。
メニュー1 └"○○を開く" └"△△と□□の再計算" └"××の終了"
ただ、条件によっては、2番目の"△△と□□の再計算"というメニューを非表示にしたいため、このToolStripMenuItemのVisibleをFalseに設定するのですが、 メニュー1をポップアップした時、表示されるメニューの幅が、└"△△と□□の再計算"のメニューが表示されている時と同じ幅になってしまい、 表示される1番目のメニュー"○○を開く"と3番目のメニュー"××の終了"の右側のスペースが空きすぎて、あまり見た目がよくありません。 非表示にしたいToolStripMenuItemをメニュー1からRemoveし、必要な時にこのToolStripMenuItemをInsertすればこの問題は発生しないのですが、 非表示にしたいToolStripMenuItemが複数ある場合には、Removeの後でInsertする際にどの位置に挿入すればいいのか、わけが分からなくなりそうです。
そこで、Visible=FalseのToolStripMenuItemの幅に関係なく、表示されるToolStripMenuItemの幅でメニューの幅を設定する方法を知りたいのですが、 どうすればよいでしょうか?
|