【问题标题】:Creating a breadcrumb control using FlowLayoutPanel in C#在 C# 中使用 FlowLayoutPanel 创建面包屑控件
【发布时间】:2011-10-26 09:30:32
【问题描述】:

我正在考虑利用流布局面板控件的方法,并考虑使用此控件作为面包屑控件的基础。

我的目标是成为 Windows 7 Explorer 地址栏/类似面包屑的标准。

好处是您可以在其中放置任何控件,例如下拉菜单、按钮 - 最终继承自 Control 类的任何控件。

我想过使用堆栈来跟踪顺序并同步 Controls 属性。

有人对这个项目有什么想法吗?可行吗?有谁有使用 FlowLayoutPanel 的经验,好还是不好?

【问题讨论】:

  • 很难想象 FLP 对此有何用处。在那个控制中没有任何流动。

标签: c# winforms breadcrumbs


【解决方案1】:

你对答案有什么期望?

您可以使用 FlowLayoutPanel 来实现面包屑(我曾经做过一个使用标签作为“面包屑”的方法,用箭头分隔(如 Win 7 控件))

很容易实现 Push() 和 Pop() 方法(Push 应该添加箭头,然后是您要添加的控件)并且 Pop() 应该删除最后一个控件和之前的箭头)

主要考虑的是当内容不合适时你会做什么。我的控件没有处理这个问题(它没有必要),但是 Win 7 控件巧妙地隐藏了轨迹的第一部分,用

希望这对您有所帮助?

【讨论】:

  • 好建议。我知道 FLP 本身并不支持很多东西,但是如果您编写自己的 Breadcrumb 控件,则必须实现这一点。我想一些数学可以弄清楚内容是否溢出并用像 W7 这样的双 V 形替换第一部分,但仍然保留内部列表,可能为处于“溢出”状态的项目添加不同的列表?另外覆盖控件上的绘制以美化它们。
  • 是的,就是这样 - 甚至不太复杂。祝你好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多