问题标签 [dockpanel-suite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5769 浏览

c# - 寻找完全托管的 WeifenLuo(DockPanel Suite) 替代品或实施的提示

我需要一个 WeifenLuo 替代品,它可以在 .NET 和 Mono、Windows、Linux 和 Mac 上运行,最好在 MIT 许可下获得许可。如果 API 与 WeifenLuo 的 API 相似,我将不胜感激,但我知道这样的 API 可能不可用。

另外,由于我在谷歌上找不到任何东西,我相信这可能不存在。在这种情况下,我想要一些关于如何实现它的提示。

我有一些(不多)Windows.Forms 经验,我不能使用任何 P/Invoke。我已经知道如何检测窗口运动以及如何在给定位置和给定大小创建无边框半透明窗口。

所以这是我面临的一些问题:

  1. WeifenLuo 支持多个左/右/上/下窗格,允许它们调整大小并包含多个面板。
  2. 它还支持可拆分的选项卡。

在开始之前我还有什么需要注意的吗?是否有类似的开源项目可用?

0 投票
2 回答
3043 浏览

c# - 如何为所有子控件启用拖放

我的情况如下,我有DockPanel Suite的win-forms应用程序和很多控件,它们覆盖了整个屏幕,

我想启用从 Windows 资源管理器到应用程序的文件的 D&D。我知道如何实现 D&D,但似乎如果我为主父窗体启用它,则只有应用程序标题栏和任务菜单图标反映了 D&D 中的更改。

我希望整个表单接受来自资源管理器的文件。我是否必须为我的应用程序中显示的每个顶级控件启用文件的 D&D?

我确信有更好的方法来实现这一点,帮助?

阐明

当用户将文件从 Windows 资源管理器拖到我的表单时,我希望表单中的每个位置都能为此类事件提供反馈。就像您可以将文件从资源管理器拖到 Visual Studio 中一样,无论您将它拖到哪里,应用程序都会接受该文件。

0 投票
4 回答
6534 浏览

c# - 如何访问继承表单上的控件?

我在我的 winforms 应用程序中使用 DockPanel Suite。DockContent 类派生自 System.Windows.Forms.Form 类,我的两个表单dockRounds 和dockToolbox 继承自DockContent 类。

这是我第一次这样做,这可能是一个愚蠢的问题,但在运行时,我如何访问dockRounds 和dockToolbox 表单的控件?

以下是我在应用程序首次运行时加载这两个表单的方式:

public partial class frmMainNew : Form

提前谢谢了

雷迪

0 投票
1 回答
2774 浏览

c# - 可以停靠到第三方应用程序的免费停靠控件

我有一个应用程序(不是我的),它使用 CodeJock 的 AxXtremeDockingPane 向应用程序添加可停靠面板。

AxXtremeDockingPane 有一个被调用的方法AttachToWindow(int handle),当调用该方法时,将使用提供的句柄在窗口中创建一个停靠管理器,该句柄可以是任何应用程序。

我想知道是否有任何其他免费/更便宜的对接控件可以让您做同样的事情?

我想做的是,当应用程序运行时,主应用程序(不是我的)在其主窗口中创建了一个停靠管理器,但他们访问了 AxXtremeDockingPane 私有,这意味着我无法将自己的面板添加到主应用程序窗口。问题是,如果您尝试创建一个新的 AxXtremeDockingPane 并AttachToWindow(int handle)使用主应用程序或任何子窗口的句柄调用它会引发 MemoryAccessViolation,因为那里已经有一个停靠管理器。

我想找到另一个可以做同样事情的套件,所以我可以在主窗口中创建一个新的停靠管理器,所以在主窗口中有 AxXtremeDockingPane 和 {other control}。

抱歉有点难以解释。

有谁知道我怎么能做到这一点,或者知道任何工具。

0 投票
1 回答
3629 浏览

c# - DockPanel Suite:打开文档选项卡位置?

我们正在改进我们的 winforms 用户界面以使用Weifen Luo DockPanel Suite,并且由于我们的旧 UI 没有选项卡,我们希望在新窗口停靠到文档区域时显示气球工具提示,通知用户他们可能撕下文件并将其浮动到任何他们想要的地方。

我认为要做到这一点,我需要能够以编程方式确定停靠窗口选项卡的位置。我们的 DockPanel 的 DocumentStyle 设置为 DockingWindow,因此任何停靠在“文档”区域的窗口始终显示选项卡。

有任何想法吗?

0 投票
3 回答
8577 浏览

delphi - 推荐 Delphi / C++Builder 的对接库?

我的团队目前正在考虑将我们现有的基于 MDI 的应用程序迁移到更现代的基于对接的方法。我们还在考虑,但我们想把它移到类似 VS2010 的对接和视觉外观上:

VS2010 UI及对接截图

它具有以下特点:

  • 显示窗口将停靠的混合轮廓
  • 停靠在选项卡中,以及并排
  • 允许通过在显示停靠位置的图像上拖动和释放来停靠(我在下面将其称为“停靠小部件”)
  • 看起来也不错(主题/ UI 方面)

我无法找到与 RAD Studio 2010 一起使用的优质停靠库,我正在寻求关于我没有找到哪些库或如何使用我找到的库来实现类似目标的建议。

  • 更新:我最终购买了AutomatedQA 的对接库。我认为这是最好的。下面有关它的部分中的更多详细信息。

  • 2011 年 7 月更新 2:这个问题查看了可用于 Delphi/C++Builder 的每个对接库,因此我试图使其保持最新。我知道的两个变化:
    • 现在拥有 AutomatedQA 的 SmartBear 已经终止了 AutomatedQA 的对接库。这是我推荐购买的一款。他们正在考虑开源它。
    • 我在 DevExpress 对接时遇到的一个问题(使其不值得购买)是它缺乏对 VS2008/10 式对接的支持,它带有一个对接小部件、拖动时的透明覆盖等。 他们现在正在实施它。正因为如此,并且由于 AQDocking 不再出售,如果我现在问这个问题,我接受的答案是购买 DevExpress Docking

我找到了以下库。这是一个概述:

内置 VCL 对接

这允许表单停靠在其他表单或 TWinControls 上,但看起来非常基本。使用 XOR 绘制轮廓拖动表单,这在 Vista 和 Win7 上效果很差。有一个用于选项卡式停靠表单的 TTabDockSet 控件,但我无法弄清楚如何控制停靠表单的标题在停靠后如何呈现。我认为实现并排停靠必须手动完成,动态创建新的停靠站点面板。RAD Studio IDE 的停靠窗口比这更漂亮(例如,拖动表单时的透明矩形),这很奇怪,因为我认为它使用了 VCL 停靠支持。

JVCL对接

这看起来更像是内置 VCL 对接的一个不错的解决方案。它支持停靠在任何边缘或客户端上,并在窗体停靠的地方显示一个字母混合矩形。

JVCL对接测试程序

它似乎有很多错误(允许在第一个表单上放置第二个表单,但会冻结程序)并且没有内置的选项卡式停靠支持或任何类型的放置位置小部件。

LMD 对接包

这看起来很有希望:虽然它似乎没有直接停靠表单,但它有停靠面板和控件/框架放置在上面。现有的表格可以迁移到框架中。它还具有停靠小部件和选项卡式停靠支持。

但是,该演示似乎非常不可靠。我已经安装了最新的评估版本,并创建了一个带有停靠站点和几个面板的新项目,然后按 Run 会导致以下情况:

LMD 对接

这在表单组件流中崩溃。目视检查 DFM 文件并没有显示任何错误,但是可能导致它的布局信息有一个不透明的二进制 blob。这在评估版本中并不是特别令人鼓舞。

DevExpress 快速对接

我对此寄予厚望:我以前从未使用过任何 DevExpress 控件,但它们的声誉很好。但他们的演示程序确实令人失望:

DevExpress 对接

即使使用 XP 样式,该控件也是闪烁的,并且似乎不适用于 Windows。它确实有选项卡式对接,但它使用异或轮廓——这在 XP 或 Vista 上不能很好地工作。它也没有任何类型的停靠小部件。坦率地说,它看起来自 Windows XP 时代以来就没有更新过。2011 年 7 月更新: 正在改进

AutomatedQA / SmartBear 对接库

这是迄今为止所有库中最有前途的。

自动化QA对接库

我经常使用AQTime,这是一个出色的分析器,似乎是使用他们自己的对接库编写的,而且效果很好。但是,最新版本的对接库试用下载适用于 RAD Studio 2009,安装到 2010 时给出的建议是它不受支持,您应该重新编译源代码。该演示没有源代码,我们没有RS2009,除非我们这样做,否则安装程序拒绝安装,即使我们设法安装它,我们也无法使用它,因为我们需要重新编译不存在的来源。

我已经与他们的支持团队取得了联系,他们将我指向了这个帖子我还发现了另一个客户问同样问题的线程。我已经回复并希望听到更好的消息。我不想推荐我们购买我无法评估的产品,尤其是当我们的 IDE 不支持它时。

  • 更新:我最终购买了这个库。尽管评估存在问题(它在 D2007 中有效,我有一份副本),但它似乎是所有库中最容易使用的,也是最强大的——例如,为它编写主题很容易。如果您也需要选择对接库,我肯定会推荐它。

  • 2011 年 7 月更新: 该库不再出售,但可能很快就会开源

我错过了什么?

这就是我到目前为止所发现的一切。现在怎么办?

  • 我是否错过了 Delphi / C++ Builder / RAD Studio 2010 的任何好的对接库?
  • 到目前为止,我是否错过了我看过的库中的任何功能?像“你错过了 FooBar”或“JVCL 确实有一个停靠小部件,你可以像这样使用它......”这样的答案会非常棒。
  • 你会推荐什么作为我的下一步?

感谢您的输入 :)

0 投票
1 回答
93 浏览

vb.net - VB中的DisposedObjectException

我正在使用 SourceForge 的DockPanel Suite,每当我打开一个文档并关闭它,但再次打开它时,我都会收到一条错误消息,提示“无法访问已处理的对象”。我能做些什么来阻止这种情况发生?

0 投票
4 回答
8114 浏览

c# - Weifenluo Dock Panel Suite:浮窗使用它们的设计尺寸?

如何使浮动窗口使用它们的设计尺寸(而不是 Dock Panel Suite 的默认尺寸)与 Weifenluo Dock Panel 套件?

提示:我尝试了来自 SF.net 的 Dock Panel Suite 论坛的提议,但这似乎不起作用。

0 投票
4 回答
3017 浏览

vb.net - 在 DockPanel Suite 中获取当前选项卡/文档

我在一个小项目(webbrowser)中使用 Weifen Luo 的DockPanel Suite,并且设法能够创建选项卡并在每个选项卡内导航 webbrowser 元素。

但是,当页面导航到另一个站点时,我如何更改标签标题/名称?

基本上我只需要进入当前的标签表单。

0 投票
1 回答
2038 浏览

c# - 如何使用 DockPanel Suite 将 DockContent 添加到 DockPane

作为标题。

例如,我有多个包含多个用户列表的聊天室。我将所有用户列表添加到正确的扩展坞上。

问题是如果用户将用户列表更改为底部扩展坞,我仍将添加到正确的扩展坞。

如何将内容添加到窗格中,以便即使用户更改位置,它也会添加到正确的位置?

WeiFenLuo的DockPanel Suite的gd文档有什么地方吗?