我目前正在尝试制作一个带有 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);
我也一直在测试并使标题变粗,只有这一行工作正常
lvInstrumente.Columns[0].ListView.Font = new Font(lvInstrumente.Columns[0].ListView.Font, FontStyle.Bold);
关于c# - WinForms 列标题 FontStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42369221/