我在ToolStripComboBox上有一个ToolStrip,然后我的应用程序被最小化为托盘,ShowInTaskBar被设置为false。在此之后,我的应用程序将恢复正常状态。从这一刻起,ToolStripComboBox将不会触发任何事件。
this.ShowInTaskbar = false;
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = true;
this.WindowState = FormWindowState.Normal;
this.Show();我怎么能让这件事重新开始工作呢?
发布于 2014-06-18 05:08:39
这是.NET框架Windows窗体中的一个bug。设置ShowInTaskbar = false事件后,将不会引发事件。
在设置ShowInTaskbar = true后,通过调用内部控制类方法,可以简单地解决问题;
MethodInfo dynMethod = toolStripComboBox1.ComboBox.GetType().GetMethod("RecreateHandleCore",BindingFlags.NonPublic | BindingFlags.Instance);
dynMethod.Invoke(toolStripComboBox1.ComboBox, new object[] {});在此之后,事件将被适当地提出。
另一个解决办法:秩序是重要的!
this.Show()
this.ShowInTaskbar = true;https://stackoverflow.com/questions/24272259
复制相似问题