日期:2014-05-18  浏览次数:20970 次

求救,如何使用Win API向toolscrip中的button控件发送消息?
想要向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   的句柄。该怎么办呢?

或者有没有其它方法可以实现?

折腾了两天,希望各位大虾多多帮忙,多谢!

------解决方案--------------------
ToolStrip里的“Button”不是实际的Button控件,而是ToolStrip自己“操作”的按钮,你应该可以通过它里面的“按钮”的索引来操作。

不过这个思路是对ToolBar的操作思路,对于ToolStrip并没有测试过是否适用。不过楼主应该向这个方面考虑一下。

另外,如果仅是想使按钮发生Click事件,那么没有必要向他发消息,而是使用ToolStripItem.PerformClick 方法来激发事件。