【问题标题】:How to make a vertical icon bar like in Microsoft Teams [closed]如何在 Microsoft Teams 中制作垂直图标栏 [关闭]
【发布时间】:2020-01-05 11:15:51
【问题描述】:

C#、.NET Framework 4.8、WinForms:

我想创建一个与 Microsoft Teams 具有相同外观和感觉的垂直图标栏(见图)。 所以悬停、高亮、快捷方式等也应该是一样的。

哪种标准控件最适合此操作?你会接受TreeView 吗?还是我需要制作自定义控件?在 MS Teams 中如何解决?

【问题讨论】:

  • 这在 WPF 中很容易。这对你来说是一个选择吗?在 WPF 中,它将是 TabView 或类似的东西。
  • 控件本身很简单(计算的semplicity)。您可以构建一个用户控件,一个自定义控件就可以了。更难的部分是复制亮点。在 WinForms 中,可以使用 LinearGradientBrush 对其应用颜色 Blend 来复制它。可以使用 TableLayoutPanel 对齐/组织控件(因此您可以插入/删除单元格,以使特定按钮始终保持在同一位置)。
  • 使用 UserControl,覆盖 OnEnterOnLeave 方法,以重绘/显示左侧的彩色条并重绘/混合高光。图标可以添加到标签(用于透明度)或直接绘制在表面上。使用标签,更简单,更容易实现(使用标签的属性进行对齐。它本身也支持双缓冲)。
  • ToolStrip 或一些other options.
  • 如果可以选择使用不同的技术,请查看NavigationView,它位于Controls for UWP apps 中。

标签: c# .net winforms .net-4.8


【解决方案1】:

我不知道这是如何在 MS Teams 中制作的,但我应该怎么做?并使选择器在所选项目处可见。这将产生与 MS Teams 中类似的设计!

我希望你能开始研究它,只是问你是否想不通!

【讨论】:

  • 谢谢!您会将哪个控件作为“自定义视图”的基础?树视图?列表显示?还是另一个?
  • 我会选择 Grid,因为我可以很好地使用 Grid!您可以在许多视图中创建它
  • 好的,那么DataGridView ?
  • 是的,我会用那个!
猜你喜欢
  • 2011-04-02
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-12
  • 1970-01-01
相关资源
最近更新 更多