gpt4 book ai didi

c# - 以编程方式调用 DockPanel-Suite 的 "AutoHidden"DockContent

转载 作者:行者123 更新时间:2023-11-30 15:01:39 25 4
gpt4 key购买 nike

我无法以编程方式显示“自动隐藏”停靠栏。

无法在网上找到任何答案,尽管以下 SO Question建议 .Show() 应该可以解决问题

我已经在最新的 NuGet version 上试过了的代码。

我的测试代码如下。

有人知道怎么做吗?或者我做错了什么?

更新:显然这是 2.7.0 中的错误,我打开了一个 issue为它与项目。@roken 的回答是一个很好的解决方法,所以我更新了下面的代码以反射(reflect)它。


我的测试代码

创建一个简单的 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 );

这是无效的代码部分:

            // This SHOULD show the autohide-dock, but NOTHING happens.
dc.Show();

我已将其替换为@roken 的建议,现在可以使用了:

            dockPanel.ActiveAutoHideContent = dc;
innerCtrl.Focus(); // This is required otherwise it will autohide quickly.

}
}
}

最佳答案

要显示隐藏的自动隐藏内容,您可以直接设置事件的自动内容:

dockPanel.ActiveAutoHideContent = dc;

我不清楚无法通过 Show() 激活内容是否是引入的错误。如果您有空,可以尝试针对版本 2.5.0 运行您提供的代码吗?查看 Show() 是否像您期望的那样激活内容?

关于c# - 以编程方式调用 DockPanel-Suite 的 "AutoHidden"DockContent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13843604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com