在做一个文本的编辑器,类似于Word的那种,比Word简单些,但是在上面的工具栏(menuStrip)里也有很多选项,下面有两排toolStrip。
现在想加一个状态栏,实现鼠标在哪里,状态栏就显示相应的信息。如下图:这种功能实现起来是不是很麻烦?要一个标签一个标签的写事件呀?有什么快的方法吗?

解决方案 »

  1.   

    你把需要显示的提示信息放到每个菜单栏的TAG里面
    然后在菜单的鼠标事件中显示触发事件的菜单栏的tag到状态栏不就ok了
      

  2.   

    给每个按钮添加Tag,Tag里边存的就是你要显示的文字,然后让所有需要显示标签的按钮调用通一个MouseEnter事件,事件的内容就是状态栏的那部分文字=((转换一下类型)sender).Tag.Tostring()
      

  3.   

    写一个方法 把所有的菜单项的事件绑定到这个方法  为每个菜单项的tag属性值赋如"保存当前文档为另外的名称"、"打开一个文档"等信息
    private void menuItem_MouseEnter(object sender,EventArgs e)
    {
        toolStripMenuItem t = sender as toolStripMenuItem;
        if(t == null)
           return;
        label1.Text = t.tag.ToString();
    }
      

  4.   

    有一个问题:
    当标签的Enabled=false时,无法触发MouseEnter事件,这个怎么处理?我想实现也触发的效果!
      

  5.   

    是Enabled=false  不是Visible=false , 所以标签还可以看到,只是是灰色的,这时也希望在状态栏中显示它的tag信息。
      

  6.   

    那就不要用Enabled=false,对于想让它失效的控件,就把他的文字颜色改成灰色,然后在MouseDown事件里判断,如果他字的颜色是灰色的,就阻止点击事件
      

  7.   

    使用状态栏控件StatusBar,点击MENUITEM
    在StatusBar显示信息
    控件
      

  8.   

    放ToolTip控件就可以了,这个是用来显示信息的
      

  9.   

    给每个按钮添加Tag,Tag里边存的就是你要显示的文字,然后让所有需要显示标签的按钮调用通一个MouseEnter事件,事件的内容就是状态栏的那部分文字=((转换一下类型)sender).Tag.Tostring()