我用dotnetbar建立一个Main Menu和一个Toolbar,其中Main Menu中有2项为ButtonItem1和ButtonItem2,Toolbar中有ButtonItem3和ButtonItem4。我要做的是,首先把ButtonItem3和ButtonItem4隐藏,在点击Main Menu中的ButtonItem1时在让ButtonItem3显示出来,点击Main Menu中的ButtonItem2时在让ButtonItem4显示出来,但是不行,要在Toolbar点击右建中的自定义才能显示出来。代码如下:
private void Form1_Load(object sender, System.EventArgs e)
{
//先将ButtonItem3和ButtonItem4隐藏
dotNetBarManager1.Bars[1].Items["ButtonItem3"].Visible=false;
dotNetBarManager1.Bars[1].Items["ButtonItem4"].Visible=false;
} private void dotNetBarManager1_ItemClick(object sender, System.EventArgs e)
{
//单击菜单时显示相应的按钮
DevComponents.DotNetBar.BaseItem Item=sender as BaseItem;
if(Item.Text=="ButtonItem1")
{
dotNetBarManager1.Bars[1].Items["ButtonItem3"].Visible=true;
}
if(Item.Text=="ButtonItem2")
{
dotNetBarManager1.Bars[1].Items["ButtonItem4"].Visible=true;
}
}

解决方案 »

  1.   

    应该可以的,楼主你用
    if(Item.Name=="ButtonItem1")
    来试试呢
      

  2.   

    DevComponents.DotNetBar.BaseItem Item=sender as BaseItem;
    if(Item.Text=="ButtonItem1")
    {
    dotNetBarManager1.Bars[1].Items["ButtonItem3"].Visible=true;
    }
    if(Item.Text=="ButtonItem2")
    {
    dotNetBarManager1.Bars[1].Items["ButtonItem4"].Visible=true;
    }代码是执行的,但是结果出不来
      

  3.   

    请按照下面的做法:
    DevComponents.DotNetBar.BaseItem Item=sender as BaseItem;if(Item.Text=="ButtonItem1")
    {
       dotNetBarManager1.Bars[1].Items["ButtonItem3"].Visible = true;
       dotNetBarManager1.Bars[1].Items["ButtonItem3"].Displayed = true;
       dotNetBarManager1.Bars[1].Items["ButtonItem3"].Refresh();
    }if(Item.Text=="ButtonItem2")
    {
        dotNetBarManager1.Bars[1].Items["ButtonItem4"].Visible = true;
        dotNetBarManager1.Bars[1].Items["ButtonItem4"].Displayed = true;
        dotNetBarManager1.Bars[1].Items["ButtonItem4"].Refresh();
    }
    设置为false时同样做法!
    C#的很多控件设置Visable属性的时候会有各种让人苦笑不得的问题。