【问题标题】:Is there way to change the Item's Font Size of ListView in Winform/C#有没有办法在 Winform/C# 中更改 ListView 的项目字体大小
【发布时间】:2018-01-07 03:43:41
【问题描述】:

我正在尝试用 C# 学习 Winform,并且我有一个类似于 Cafe Shop Manager 的项目。在我的项目中,我想将我的项目添加到 ListView 中,比如食物的名称?我必须尝试更改此项的字体大小,但这会导致 VisualStudio 出现错误。你能帮助我吗? 还是谢谢!!!

【问题讨论】:

  • 但它会导致 VisualStudio 出现错误。什么错误?
  • 包括你得到错误的源代码
  • 您使用什么 ViewWmode?每当询问 ListView 时,请务必告诉这一点!

标签: c# winforms


【解决方案1】:

假设你有两种字体:

normalfont = new Font("Consolas", 10f);
bigfont    = new Font("Consolas", 20f);

你可以试试这样的:

private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
    foreach (ListViewItem lvi in listView1.Items) lvi.Font = normalfont ;
    if (listView1.SelectedItems.Count > 0) listView1.SelectedItems[0].Font = bigfont;
}

请注意,当ListView 处于查看模式DetailsListSmallIcon 时,这将无法正常工作;在这里,您还需要通过图像列表强制执行更大的项目高度;不建议。但是对于LargeIconTile,它的效果相当不错..

缓存您一直使用的字体是可以的,但请确保不要泄露它们!

另请注意,您可能希望从 SelectionChanged 切换到 MouseClick 事件以允许其他类型的 UI 交互,例如取消选择或添加计数器。如果你这样做了,你将不得不在ListView 上做一个HitTest 来确定是否点击了Item

【讨论】:

    猜你喜欢
    • 2017-06-12
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多