【发布时间】:2010-10-17 05:26:29
【问题描述】:
假设,我有以下任务。
有一个带有许多按钮的主申请表;当您单击这些按钮中的每一个时,您会得到一个表格。第二次单击该按钮应关闭打开的表单。
这些表单不应该显示在任务栏中,因为它们是辅助的。它们不应该是对话框,因为这会阻塞主应用程序表单并阻止用户对主窗口或其他表单(如打开的表单)执行一些其他操作。它们应该显示在主窗体上方,而不是其他窗口上方(因此 TopMost 不包含)。当此类表单关闭时,应该通知主表单,当主表单最小化时,它们也应该被最小化。
你会如何解决这个问题?
当前的解决方案是基于使用钩子。不是很容易理解,也很难维护(主要是我对win32没有经验)。它适用于大约 90% 的情况,但在 10% 的情况下不能。
也许,对表单行为的要求太严格了?
【问题讨论】: