有没有办法在Winform / C#中更改ListView的Item的字体大小

时间:2017-07-31 14:03:51

标签: c# winforms

我正在尝试用C#学习Winform,我有一个类似于Cafe Shop Manager的项目。在我的项目中,我想将我的项目添加到ListView中,就像Food的名字一样?我必须尝试更改此项目的字体大小,但它在VisualStudio中导致错误。你能帮助我吗? 不管怎样,谢谢!!!

1 个答案:

答案 0 :(得分:0)

假设您有两种字体:

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交互,例如取消选择或添加计数器。如果您这样做,则必须在HitTest上执行ListView以确定是否已点击任何Item