如何处理Excel任务窗格中的用户控件,如模式对话框?

我在一个Excel加载项产品上工作,该产品包含一个具有多个用户控件的任务窗格。 我们已将login过程从模式用户窗体对话框移动到用户单击我们的loginfunction区button时显示在任务窗格内的Web浏览器控件。

期望的行为stream程将是:

  1. 用户单击function区上的loginbutton – login控件显示在任务窗格中
  2. 直到出现login结果(login成功,login失败或用户取消login), 用户将无法使用excel ,就好像正在显示模态login对话框
  3. 一旦login或login被取消,用户可以再次使用Excel。

换句话说,我希望任务窗格控件像一个modal dialog一样工作。

我有login控制工作很好,但我不知道有一种方法来模拟模态。 一旦用户点击loginbutton,他们可以自由地继续在Excel中工作,这是我们不想要的。

我一直在思考一些丑陋的解决scheme,比如试图阻止Excel中的每个窗口使用带有SendMessage的WM_SETREDRAW重新绘制,并绑定LockWindowUpdate,但是我真的希望有人会知道更好的方法来完成我正在尝试做的事情。

顺便说一下,这种types的function不仅将用于login控制,或者我们可能会继续,并将其放在modal dialog中。 我们也希望在我们允许用户继续使用Excel之前,让用户必须使用控件的其他两个控件也要这样做。