c# - WinForms 列标题 FontStyle

我目前正在尝试制作一个带有 ListView 的对话框,该对话框从 MySQL 数据库中获取其项目。我刚刚让它工作,现在我想让标题有粗体文本。

这是我当前的代码:

public Form1()
    {
        InitializeComponent();

        lvInstrumente.Columns.Add("ID", 30, HorizontalAlignment.Left);
        lvInstrumente.Columns.Add("Hersteller", 100, HorizontalAlignment.Left);
        lvInstrumente.Columns.Add("Instrument", 100, HorizontalAlignment.Left);
        lvInstrumente.Columns.Add("Preis", 50, HorizontalAlignment.Left);
        lvInstrumente.Columns.Add("Typ", 100, HorizontalAlignment.Left);
        lvInstrumente.Columns.Add("Farbe", 110, HorizontalAlignment.Left);
        lvInstrumente.Columns.Add("Beschreibung", 550, HorizontalAlignment.Left);
        lvInstrumente.FullRowSelect = true;
        lvInstrumente.GridLines = true;
        lvInstrumente.View = View.Details;
    }

    private void btnSelect_Click(object sender, EventArgs e)
    {


        // Verbindung zu DB aufbauen
        var db = new MySqlDB("localhost", "3306", "musicstoreuster");
        var h = db.Connect();
        if (h == null)
            return;// Wenn die Verbindung nicht klappt, steigen wir hier aus

        var list = db.Select("product");


        foreach(var item in list)
        {
            Console.WriteLine(item.ToString());

            var ds = item.Split(new char[] { ';' });
            ListViewItem lvItem = new ListViewItem(ds);
            lvInstrumente.Items.Add(lvItem);   
        }

        db.Close();
    } 

为了使页眉加粗,我最终采用了这个“解决方案”

for (int i = 0; i < lvInstrumente.Columns.Count; i++)
        {
            lvInstrumente.Columns[i].ListView.Font = new Font(lvInstrumente.Columns[i].ListView.Font, FontStyle.Bold);
        }

但现在当我按下选择按钮时,一切都是粗体。 我需要添加/更改什么以防止项目也成为粗体?

最佳答案

在添加项目之前设置字体。像这样的事情:

var ds = item.Split(new char[] { ';' });
ListViewItem lvItem = new ListViewItem(ds);

//set the font to the item
lvItem.Font = new Font(lvItem.Font,FontStyle.Regular);

Items.Add(lvItem); 

这行得通,我测试过:v

我也一直在测试并使标题变粗,只有这一行工作正常

lvInstrumente.Columns[0].ListView.Font = new Font(lvInstrumente.Columns[0].ListView.Font, FontStyle.Bold);

https://stackoverflow.com/questions/42369221/

相关文章:

three.js - 围绕轨道旋转对象

spring-mvc - 如何在应用程序中使用 "RestController"和 "Control

list - 为什么这个删除 Haskell 中的重复函数有两个参数而不是一个?

c# - 无法将类型为 'System.DateTime' 的对象转换为类型 'System.Str

php - Woocommerce 优惠券添加自定义复选框

html - 将鼠标悬停在文本上时显示图像

bash - 创建动态变量名bash并获取值

reactjs - 在reactjs中使用具有相同路由路径的条件组件

oracle - Windows 的 ins-32025 oracle 11g 错误

bash - 在 bash 命令输出中添加前缀