我正在编写一个outlook插件,我正在寻找一种方法让屏幕右侧的面板可以折叠。此时,显示或删除面板。你也可以缩放它,但这不是我想要的。我已经尝试添加2个按钮来改变我的面板的宽度,但结果是我的面板宽度不能小于约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;
任何删除标题的帮助,使面板更薄(大约25px),使其可折叠或所有这些都将非常感激。
答案 0 :(得分:2)
以下是解决方案:
1 - 在您的用户控件中创建一个公共方法,如下所示:
private Microsoft.Office.Tools.CustomTaskPane _ctp; public void SetControl(ref Microsoft.Office.Tools.CustomTaskPane ctp) { _ctp = ctp; }
2 - 在用户控件中添加任何按钮以扩展和最小化,并在点击事件上的最小化按钮下面放置代码:
private void btnMinimize_Click(object sender, 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);
希望这会奏效。