2017-02-21 6 views
0

現在、MySQLデータベースから項目を取得するListViewを使用してダイアログを作成しようとしています。私はちょうどそれが働いて、今私は大胆なテキストを持つヘッダーを取得したい。WinForms Column Header FontStyle

これが私の現在のコードです:

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); 
     } 

になってしまった。しかし、私はSELECTボタンを押すと、今ではすべてが太字です。 アイテムを太字で表示しないようにするには、何を追加/変更する必要がありますか?

+0

で、ヘッダを太字にしてテストしてきましたListViewを使用して設定されている場合は、ListViewのOwnerDrawをtrueに設定し、DrawColumnHeaderを実装する必要があります。ここではhttp://stackoverflow.com/a/27766256/891715またはhttp: /stackoverflow.com/a/9040411/891715 – Arie

答えて

0

アイテムを追加する前にフォントを設定してください。このようないくつかの事:

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 enter image description here

また、私はこれだけの行が正常に動作します

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