私はMDI Windows Forms
アプリケーションに取り組んでいます。私の親フォームにはToolStrip
メニューといくつかがありますToolStripDropDownButtons
。Visible
ユーザーの許可に応じて、またはのプロパティToolStripDropDownButton
をいくつかのToolStripItems
(サブボタン)に変更したいと思います。
これを管理するために私が書いたメソッドの一部を次に示します。
private void SetToolStripDropDownVisibility(ToolStripDropDownButton mainBtn, params ToolStripItem[] item)
{
mainBtn.Visible = false;
foreach (ToolStripItem tempItem in item)
{
tempItem.Visible = true;
}
}
最初の引数として、ToolStripDropDownButton
および他のすべての「サブ ボタン」を params リストとして渡します。ただし、パーツでデバッグ モードに入るとforeach (ToolStripItem tempItem in item)
、tempItem
Visible プロパティが false としてマークされます。ただし、デザイナーでは、このプロパティは true に設定されています。明示的に値を true に変更しようとしていることがわかりますがtempItem.Visible = true;
、この行は何もしていないように見えます。の価値はVisible
そのままfalse
で、変えることはできません。
ToolStrip
これはメソッドの始まりにすぎず、アイテムを台無しにする可能性のある他のコードは考えられません。の値mainBtn.Visible
を true または false に変更しようとしましたが、関係があるのではないかと考えましたが、これは問題ではないようです。なぜこれが起こっているのか、なぜVisible
値を変更できないのか、そしてもちろんそれを行う方法はありません。