需要在excel主窗口(准任务窗格)上放置一个浮动的非模态forms,

您好我需要通过在Excel主窗口上浮动一个无模式的表单模拟一个任务窗格。 这个要求的原因是我需要为我的Excel 2003加载项具有任务窗格function,但不能使用以文档为中心的模型。

任何人都可以build议什么是最好的方式来做到这一点? 无模式窗体需要检测主窗口大小调整事件,并相应地调整自身大小,还需要始终将自己定位在窗口底部(类似于对接窗格)。

也许我没有理解这个问题,但是如果你只是简单地将窗体的ShowModal属性设置为False,那么你会得到你想要的。

我更喜欢这个简单而直接的方法 :

以下是我如何实现它(在VB中):

Public Class WindowWrapper Implements System.Windows.Forms.IWin32Window Private _hwnd As IntPtr Public Sub New(ByVal handle As IntPtr) _hwnd = handle End Sub Public ReadOnly Property Handle() As IntPtr Implements System.Windows.Forms.IWin32Window.Handle Get Return _hwnd End Get End Property End Class Dim owner As New WindowWrapper(CType(gXLApp.Hwnd, IntPtr)) gfTimeStamp = New FTimeStamp gfTimeStamp.Show(owner) 

工作很好!

我将分享迄今为止我发现的内容。 代码项目中的一篇文章非常翔实,我认为这将帮助我弄清楚长远来看我需要做什么,尽pipe这是关于Outlook面板集成的。 我没有时间真正尝试将下面概述的解决scheme整合到我的Excel项目中,但文章中概述的想法似乎是可靠的。

http://www.codeproject.com/KB/office/additional_panel_Outlook.aspx

一旦我得到更多的信息,我会更新我的post。