[英]How to set visible to true in code?
我在Windows窗體應用程序中有一些代碼。我想在c#代碼中更改toolStripMenuItem的下拉項目的可見性。我設置了可見性,但是當我在代碼中設置斷點時,項目的可見性不會改變。
這是我的代碼:
foreach (ToolStripMenuItem it in _frmMain.menuStripMain.Items)
{
foreach (ToolStripMenuItem i in it.DropDownItems)
{
if (i.Text == this._listAppSchema[0].ObjectName.ToString())
{
i.Visible = true;
}
else
{
i.Visible = false;
}
}
}
如何解決這個問題?
Visible
是一個復雜的屬性。 它沒有設置和讀取相同的內容。
如果將其設置為true
或false
則表示對象是否可見。 但是,當您閱讀它時,它會顯示該控件的可見性是設置為true還是false,但如果鏈中的任何父項也被隱藏,它將顯示為false
。
因此設置和讀取它是一回事:即使你將它設置為true
,當你讀回它時,調試器中也可能會出現false
(同樣,如果鏈中的任何父項被隱藏):它將變為true
雖然父母是可見的。
但是對於ToolStripItem
,請使用Available
屬性而不是Visible
:這應該可以滿足您的期望。 文檔(我鏈接)具體談到這個:
Available屬性與Visible屬性不同,Available表示是否顯示ToolStripItem,而Visible表示是否顯示ToolStripItem及其父元素。 將Available或Visible設置為true或false會將other屬性設置為true或false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.