目标:Form1_Load时,按下toolStrip上的tbb_Cursor第一个按钮.尔后的操作,每次点击toolStrip上某个按钮时,它就呈下凹状态(其实就是普通的按钮被按下时的样子),其他按钮则呈正常状态.我看C#1.0里是用toolBar.
在Form1_Load()事件里加上:
this.tbb_Cursor.Pushed = true;
然后private void MainToolBar_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if (e.Button.Pushed) 
{
foreach (ToolBarButton btn in MainToolBar.Buttons) 
{
if (btn.Pushed && !btn.Equals(e.Button)) 
{
btn.Pushed = false;//其他按钮就呈正常状态(没被按下)
}
}
}
}
C#2.0里变成toolStrip了.我在
在Form1_Load()事件里加上:
tsB_Cursor.Checked = true;  //如果有Pushed,我就不会用这样的来表示选中了然后private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{          
    foreach (ToolStripItem vItem in toolStrip1.Items)
    {
        if (vItem is ToolStripButton)
        {
            if (vItem.Equals(e.ClickedItem))
            {
                //怎么办啊?.好不容易找到两个属性可以区别于其他按钮,居然是只读的
                //vItem.Pressed= 
                //vItem.Selected=
            }
        }
    }
}

解决方案 »

  1.   

    vItem.Checked = true;
    vItem.CheckState = CheckState.Unchecked;
      

  2.   


    if (vItem.Equals(e.ClickedItem))
    {
        //关键是到了这里vItem.你看看下拉输入提示里根本没有CheckState 
    }
      

  3.   

    toolStripButton btn = vItem as toolStripButton;
    btn.CheckState = CheckState.Unchecked;
      

  4.   

    这样新定义了出的btn,肯定没用的.
      

  5.   

    这个哥们儿看来比较倔vItem as toolStripButton这叫强制类型转换,新定义了一个引用,实例还是vItem所引用的的对象。
    为什么肯定没用呢?要学会相信别人,哥们儿。
      

  6.   

    这个哥们儿看来比较倔 
    我是先在程序里面试了下不行,所以才那么回复的.
    我最后实在没办法就用.Enable属性,变化后那个按钮会变深色来表示我的下凹的.
    Thank you all the same.
      

  7.   

    用CType把ToolStripItem转换成ToolStripButton,就可以用CheckState属性了