菜单上有 《平铺图片》 《原始大小》2个选项
目的是 用一个事件代码 实现2个控件的响应
书上的代码是:private PictureBoxSizeMode[] modemenuarray =
        {
            PictureBoxSizeMode.StretchImage,
            PictureBoxSizeMode.Normal
        };
private void imagemode_Click(object sender, EventArgs e)
        {
            pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
            if (sender is MenuItem)
            { 
                MenuItem mi=(MenuItem)sender;
                pictureBox1.SizeMode=modemenuarray[mi.Index];
                pictureBox1.Invalidate();
            }
        }只截取了一部份 调试了久。
完全没有效果   程序也没报错。。
大侠教教吧

解决方案 »

  1.   

    你给菜单注册事件到imagemode_Click了吗?设下断点在imagemode_Click方法内,看里面的代码是否被执行了。
      

  2.   

    应该是你的类型没有匹配正确。我在vs2010上做了测试,没有问题:
    private PictureBoxSizeMode[] modemenuarray =
            {
                PictureBoxSizeMode.StretchImage,
                PictureBoxSizeMode.Normal
            };
        private void imagemode_Click(object sender, EventArgs e)
        {
          pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
          if (sender is ToolStripMenuItem)
          {
            ToolStripMenuItem mi = (ToolStripMenuItem)sender;
            ToolStrip miPara = mi.GetCurrentParent();
            pictureBox1.SizeMode = modemenuarray[miPara.Items.IndexOf(mi)];
            pictureBox1.Invalidate();
          }
        }
      

  3.   

    我错了 
      真的是类型没匹配对
    书上拖得是menuitem控件    我拖是menustrip
    这两者有什么的不同点么?