首先,感谢您在审核时的时间和帮助!...
我正在尝试使用VS 2010将Excel VBA工作簿升级到VB.NET中的VSTO Excel加载项.在原始(即 - VBA)版本中,我有一个无模式的UserForm(称为frmMain
)浮动在顶部并且在用户仍然在Excel应用程序中的所有时间,但如果用户移动到Excel之外的另一个窗口,则不可见.
例如,在Excel中,用户可以单击任何工作表选项卡,选择任何单元格等,UserForm仍然可见.这正是我喜欢它的方式.
问题是,在新的VSTO加载项中,我无法让Windows窗体模仿这种相同的行为.
我frmMain.Show()
用来将表单显示为无模式表单,但是当用户单击Excel工作表(即激活工作表)时,表单将隐藏在工作表后面.
我可以手动Alt-Tab将表单重新放入视图中,但我需要它始终保持在视图中 - 只要用户没有离开Excel应用程序,它就会浮动在Excel工作表的顶部.
我尝试了各种各样的东西,包括将表单设置为TopMost
,导致表单TopMost
无处不在 - 包括Excel之外.更糟糕的是,如果用户做任何通常会导致Excel启动对话框的事情(例如 - 关闭打开的工作簿,提出警告"你想保存更改......")警告对话框本身就被隐藏了并且在frmMain
表格后面不可访问(因为frmMain
是TopMost
).
如何让我的表单以所需的方式运行(即 - 与VBA中的相同)?
谢谢!!!
抢