【问题标题】:Is there a way to get a dropdown of Fonts?有没有办法获得字体的下拉菜单?
【发布时间】:2021-09-20 11:35:18
【问题描述】:

b 是按钮类的一个实例。以下是设置按钮 b 的字体的两种方法。但在这两种情况下,我都输入了“Calibri”这个词。有没有办法通过某些属性或方法来提取“Calibri”,这样我们就不必输入它了?理想情况下,我想获得一个下拉列表,我可以从中选择一种字体(类似于选择颜色)。这可能吗?

b.Font = New Font("Calibri", 20)

Dim fontF As New FontFamily("Calibri")
b.Font = New Font(fontF, 20)

另外,如果上述方法不可行,有没有办法找出可在我尝试创建的 WinForms 中使用的完整字体列表?请注意,我正在寻找以下内容:b.FlatAppearance.BorderColor = Color.Red。在我输入Color.Red 后,这里的“红色”作为下拉菜单出现。为按钮设置字体时是否可能发生类似的事情?

【问题讨论】:

  • 看看这是否回答了你的问题,stackoverflow.com/a/46038365/14525432
  • @AwiringCameron 不是真的。我不懂 C#,但我认为那里讨论的问题是如何将所有可用字体显示为控件中的下拉列表。我已经编辑了我的问题以使其更清楚。
  • 讨论展示了如何将可用 Windows 字体列表加载到组合框中,这不是您要找的吗?如果您愿意,我可以在 vb.net 中详细说明。
  • @AwiringCameron 如果你能在 VB.Net 中做到这一点,那将非常有帮助。我会非常有兴趣通过它。但是我已经编辑了我的问题......所以请看看它。
  • 该颜色是具有固定值列表的预定义枚举。每个系统上的字体都不同,您甚至可以将特定字体添加到您的应用程序中。所以没有类似枚举的智能感知

标签: vb.net winforms


【解决方案1】:

我了解您希望 intellisense 在键入时提供字体名称列表。不幸的是,这不是直接可用的。但是,您可以打开表单的设计器,选择一个按钮并打开字体编辑器:

然后选择您想要的字体,复制名称,取消对话框,并将名称粘贴到您的代码中;或使用此对话框直接通过设计器属性设置字体。适合您的场景。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 2020-02-10
    • 2021-12-18
    • 2011-02-12
    • 2016-09-26
    相关资源
    最近更新 更多