Loc*_*ith 3 c# dockpanel-suite winforms
我无法以编程方式显示"自动隐藏"基座.
在网上找不到任何答案,虽然以下SO问题表明.Show()应该已经完成了这个伎俩
我已经尝试了最新的NuGet版本的代码.
我的测试代码如下.
谁知道怎么做?或者我做错了什么?
更新:显然这是2.7.0中的一个错误,我已经为该项目打开了一个问题.@ roken的回答是一个很好的解决方法,所以我更新了下面的代码来反映它.
创建一个简单的Visual Studio Windows窗体应用程序,并使用以下代码替换主窗体的源文件内容:
using System;
using System.Windows.Forms;
using dps = WeifenLuo.WinFormsUI.Docking;
namespace testDockPanel
{
public partial class Form1 : Form
{
private dps.DockPanel dockPanel;
private dps.DockContent dc;
private Control innerCtrl;
public Form1()
{
InitializeComponent();
dockPanel = new dps.DockPanel();
dockPanel.Dock = DockStyle.Fill;
dockPanel.DocumentStyle = dps.DocumentStyle.DockingWindow;
toolStripContainer1.ContentPanel.Controls.Add(dockPanel);
dc = new dps.DockContent();
dc.DockPanel = dockPanel;
dc.DockState = dps.DockState.DockRightAutoHide;
innerCtrl = new WebBrowser() { Dock = DockStyle.Fill };
dc.Controls.Add( innerCtrl );
Run Code Online (Sandbox Code Playgroud)
这是代码中不起作用的部分:
// This SHOULD show the autohide-dock, but NOTHING happens.
dc.Show();
Run Code Online (Sandbox Code Playgroud)
我用@ roken的建议取而代之,它现在有效:
dockPanel.ActiveAutoHideContent = dc;
innerCtrl.Focus(); // This is required otherwise it will autohide quickly.
}
}
}
Run Code Online (Sandbox Code Playgroud)
要显示隐藏的自动隐藏内容,您可以直接设置活动自动内容:
dockPanel.ActiveAutoHideContent = dc;
Run Code Online (Sandbox Code Playgroud)
我不清楚是否无法激活内容通过Show()是一个已经引入的错误.如果您有空闲时刻,您可以尝试运行您针对2.5.0版提供的代码,看看Show()是否像您期望的那样激活内容?
| 归档时间: |
|
| 查看次数: |
3567 次 |
| 最近记录: |