我正在编写一个 Outlook 加载项,并且正在寻找一种方法来使停靠在屏幕右侧的面板可折叠。目前,该面板要么显示,要么删除。您也可以缩放它,但这不是我想要的。我已经尝试添加 2 个按钮来更改面板 onclick 的宽度,但结果是我的面板宽度不能小于约 60px,并且标题仍然存在。这是我用来添加 Pane 的代码:
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 像素)、使其可折叠或所有这些的帮助将不胜感激。
最佳答案
下面是解决方案:
1 - 在用户控件中创建一个公共(public)方法,如下所示:
private Microsoft.Office.Tools.CustomTaskPane _ctp; public void SetControl(ref Microsoft.Office.Tools.CustomTaskPane ctp) { _ctp = ctp; }
2 - Add any button to Expend and Minimize in your User Control and put below codes on Minimize button on click event:
private void btnMinimize_Click(object sender, EventArgs e) { _ctp.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionTop; _ctp.Height = 50; }
3 - After your code above use bold line code below:
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);
希望这会起作用。
关于c# - 在 Outlook 中添加可折叠面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15083916/