我这里抛的是这个错误,不知道和你的错误是不是一样的: Unable to cast object of type 'System.Windows.Forms.ToolStripMenuItem' to type 'System.Windows.Forms.ToolStripButton'.原因就是我上面说的:boldToolStripMenuItem.CheckedChanged -= new EventHandler(boldToolStripButton_CheckedChanged); 这里你把boldToolStripButton_CheckedChanged的event绑定到了boldToolStripMenuItem,但是他们俩是不同的object。 绑定错了之后,再点击的时候,事件里传的sender 是ToolStripMenuItem, 但是你要强制转换成ToolStripButton,那就出错了。 bool checkState = ((ToolStripButton)sender).Checked; 就是这句话,强制转换不成功。
全部源代码在这里
可以在“我的资源”里上传。 http://download.csdn.net/my ,把代码打包上传到这里。然后把地址粘贴到这里。
可以在“我的资源”里上传。 http://download.csdn.net/my ,把代码打包上传到这里。然后把地址粘贴到这里。
谢谢
可以回答下我的问题
可以在“我的资源”里上传。 http://download.csdn.net/my ,把代码打包上传到这里。然后把地址粘贴到这里。
谢谢
可以回答下我的问题w
可以在“我的资源”里上传。 http://download.csdn.net/my ,把代码打包上传到这里。然后把地址粘贴到这里。
谢谢
可以回答下我的问题我感觉问题出在这里: boldToolStripMenuItem.CheckedChanged -= new EventHandler(boldToolStripButton_CheckedChanged);
boldToolStripMenuItem.Checked = checkState;
boldToolStripMenuItem.CheckedChanged += new EventHandler(boldToolStripButton_CheckedChanged);boldToolStripMenuItem 被赋予了 boldToolStripButton_CheckedChanged的eventhandler。可是boldToolStripMenuItem和boldToolStripButton他们两个是不同的对象。而楼主的方法本身就是 boldToolStripButton_CheckedChanged,那么相当于方法自己触发自己了。
//序,单击Bold后就出错
Unable to cast object of type 'System.Windows.Forms.ToolStripMenuItem' to type 'System.Windows.Forms.ToolStripButton'.原因就是我上面说的:boldToolStripMenuItem.CheckedChanged -= new EventHandler(boldToolStripButton_CheckedChanged);
这里你把boldToolStripButton_CheckedChanged的event绑定到了boldToolStripMenuItem,但是他们俩是不同的object。
绑定错了之后,再点击的时候,事件里传的sender 是ToolStripMenuItem, 但是你要强制转换成ToolStripButton,那就出错了。 bool checkState = ((ToolStripButton)sender).Checked; 就是这句话,强制转换不成功。