2

我正在编写一个 Outlook 加载项,并且正在寻找一种方法来使停靠在我的屏幕右侧的面板可折叠。目前面板显示或移除。你也可以缩放它,但这不是我想要的。我已经尝试添加 2 个按钮来更改我的面板 onclick 的宽度,但结果是我的面板的宽度不能小于大约 60px,并且标题仍然存在。这是我用来添加窗格的代码:

 Microsoft.Office.Tools.CustomTaskPane ctp;
 private HistoryPane ctrl;
 string title = "Task History";
 ctrl = new HistoryPane(mailItem);
 ctp = Globals.ThisAddIn.CustomTaskPanes.Add(ctrl, title);
 ctp.Visible = true;
 ctp.Width = 460;
 ctp.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight;

任何帮助删除标题,使面板更薄(约 25 像素),使其可折叠或所有这些都将不胜感激。

4

1 回答 1

2

这是下面的解决方案:

1 - 在您的用户控件中创建一个公共方法,如下所示:

    私有 Microsoft.Office.Tools.CustomTaskPane _ctp;
    公共无效 SetControl(参考 Microsoft.Office.Tools.CustomTaskPane ctp)
    {
        _ctp = ctp;
    }

2 - 在您的用户控件中添加任何按钮以展开和最小化,并在点击事件的最小化按钮上放置以下代码:

    私人无效btnMinimize_Click(对象发送者,EventArgs e)
    {
        _ctp.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionTop;
        _ctp.Height = 50;
    }

3 - 在上面的代码之后使用下面的粗体代码:

Microsoft.Office.Tools.CustomTaskPane ctp;
private HistoryPane ctrl;
string title = "Task History";
ctrl = new HistoryPane(mailItem);
ctp = Globals.ThisAddIn.CustomTaskPanes.Add(ctrl, title);
ctp.Visible = true;
ctp.Width = 460;
ctp.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight;

ctrl.SetControl(ref ctp);

希望这会奏效。

于 2013-04-08T14:13:27.900 回答