想要向toolscrip的一个item,toolscripButton发送一个消息,采用了如下发送消息方法:
      Message msg = Message.Create(button, BM_CLICK, new IntPtr(0), new IntPtr(0));
      PostMessage(msg.HWnd ,msg.Msg ,msg.WParam ,msg.LParam); 可是,其中的消息发送对象button的句柄出了问题。用win api的FindWindowEx可以获得toolscrip的句柄,可是没法进一步获得toolscrip的items 的句柄。该怎么办呢?或者有没有其它方法可以实现?折腾了两天,希望各位大虾多多帮忙,多谢!

解决方案 »

  1.   

    ToolStrip里的“Button”不是实际的Button控件,而是ToolStrip自己“操作”的按钮,你应该可以通过它里面的“按钮”的索引来操作。不过这个思路是对ToolBar的操作思路,对于ToolStrip并没有测试过是否适用。不过楼主应该向这个方面考虑一下。另外,如果仅是想使按钮发生Click事件,那么没有必要向他发消息,而是使用ToolStripItem.PerformClick 方法来激发事件。
      

  2.   

    因为是在另外一个应用程序向toolscrip发送消息,所以才用到这么曲折的方式。从ToolScrip的窗口句柄,有办法得到ToolStrip自己“操作”的按钮的句柄么?又或者ToolStrip自己“操作”的按钮的根本不生成窗口句柄?
      

  3.   

    大哥,你这个问题有思路了没?我现在也遇到这个问题了,没法向ToolStripItem发Click消息,如果你解决了,麻烦指教一下小弟,http://topic.csdn.net/u/20071222/17/5eaa5963-eb49-451b-8c34-4af541dfd85a.html?seed=115669822,解决了马上送分,谢谢!