我处理的是一个Excel加载项产品,其中包含一个任务窗格,其中包含多个用户控件。我们已将登录过程从模式UserForms对话框移动到WebBrowser控件,当用户单击“登录”功能区按钮时,该控件将显示在“任务窗格”中。
所需的行为流程为:
换句话说,我希望任务窗格控件像模态对话框一样工作。
我的登录控件工作得很好,但我不知道如何让它模拟为模态。一旦用户单击“登录”按钮,他们就可以继续在Excel中继续工作,这是我们不想要的。
我一直在思考一些丑陋的解决方案,比如试图阻止Excel中的每个窗口使用带有SendMessage的WM_SETREDRAW重绘并同时绑定LockWindowUpdate,但我真的希望有人知道更好的方法来完成我想要做的事情。
顺便说一下,这种类型的功能不仅会用于登录控制,还可以将其放在模态对话框中。我们也希望对其他一些控件执行相同的操作,我们希望用户在允许它们继续使用Excel之前必须使用该控件。