如何将Excel任务窗格中的用户控件视为模式对话框?

如何将Excel任务窗格中的用户控件视为模式对话框?,excel,user-controls,modal-dialog,excel-addins,Excel,User Controls,Modal Dialog,Excel Addins,我使用的Excel加载项产品包含一个任务窗格,该窗格上有多个用户控件。我们已将登录过程从模式UserForms对话框移动到WebBrowser控件,当用户单击登录功能区按钮时,该控件将显示在任务窗格中 期望的行为流是: 用户单击功能区上的登录按钮-登录控件显示在任务窗格中 在出现登录结果(登录成功、登录失败或用户取消登录)之前,用户不能像显示模式登录对话框一样使用excel 登录或取消登录后,用户可以再次使用Excel 换句话说,我希望任务窗格控件像模式对话框一样工作 我的登录控件工作得很好,但

我使用的Excel加载项产品包含一个任务窗格,该窗格上有多个用户控件。我们已将登录过程从模式UserForms对话框移动到WebBrowser控件,当用户单击登录功能区按钮时,该控件将显示在任务窗格中

期望的行为流是:

  • 用户单击功能区上的登录按钮-登录控件显示在任务窗格中
  • 在出现登录结果(登录成功、登录失败或用户取消登录)之前,用户不能像显示模式登录对话框一样使用excel
  • 登录或取消登录后,用户可以再次使用Excel
  • 换句话说,我希望任务窗格控件像模式对话框一样工作

    我的登录控件工作得很好,但是我不知道如何让它模拟模态。一旦用户单击登录按钮,他们就可以继续在Excel中工作,这是我们不想要的

    我一直在考虑一些丑陋的解决方案,比如试图阻止Excel中的每个窗口使用WM_SETREDRAW with SendMessage重新绘制,以及绑定LockWindowUpdate,但我真的希望有人知道一种更好的方法来完成我的尝试

    顺便说一句,这种类型的功能将不仅用于登录控件,或者我们可以直接将其放在模式对话框中。我们还希望对其他几个控件执行相同的操作,我们希望用户在允许它们继续在Excel中工作之前必须使用该控件