Excel催化剂开源-窗体在Show模式下变为最小化的解决方式简单实用

在Excel催化剂的许多功能中,都会开发窗体用于给用户更友好的交互使用,但有一个问题,困扰许久,在窗体上运行某些代码后,中途弹出下MessageBox对话框给用户做一些简单的提示或交互时 , 发现程序运行结束后,窗体本来是显示在前端最顶层的,却变为最小化在任务栏中 。
这个问题带来非常不好的用户体验 , 弄到最后,都不太敢向用户发出MessageBox对话框之类的提示,或者干脆使用ShowDialog的模式显示,总之非常不爽 。
最近,尝试着一个简单的处理,程序结束后,通过先Hide隐藏窗体 , 再重新Show显示窗体,没想到就这么简单的处理,竟然成功达到预期效果,窗体就算中途有MessageBox,有选择Excel单元格区域等操作,窗体仍然显示最前方 。
附上图形类型选择的一小段源代码 。
【Excel催化剂开源-窗体在Show模式下变为最小化的解决方式简单实用】private void SelectMatchShapes(List selectShpNames) { if (selectShpNames.Count > 0) { this.CurrentSht.Shapes.Range[selectShpNames.ToArray()].Select(); } else { this.CurrentSht.Cells[1].Select();//没有图形选中就选择单元格 。} this.Hide(); this.Show(); }
结语
有时,一个简单的处理,就能带上一个非常大的体验改善,此篇应该是开源分享最简单的,但若有人在我之前发现此答案 , 给予回复,对笔者来说,这些真是旧旱逢甘露一般地滋润 。
会者不难,难者不会,放到这上面来说有点小题大作了 , 但现实就是许多这样,看似简单,如果没人指引 , 一直摸黑到放弃为止,希望你不是VSTO摸黑后放弃的那一位 。

相关经验推荐