0
我目前正在嘗試使用ListView從MySQL數據庫獲取其項目的對話框。我剛剛得到它的工作,現在我想讓標題有粗體文本。WinForms列標題字體樣式
這是我當前的代碼:
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);
}
但現在當我按下選擇按鈕一切都是加粗。 我需要添加/更改以防止項目也變粗?
如果你設置了使用ListView,那麼你必須爲你的ListView設置OwnerDraw爲true,並且自己實現DrawColumnHeader,就像這裏http://stackoverflow.com/a/27766256/891715或者這裏http:///stackoverflow.com/a/9040411/891715 – Arie