Чтобы отображать шрифты в ComboBox
с соответствующими стилями, мы должны установить свойство ComboBox DrawMode
от Normal
до DrawItemFixed
. Затем мы можем использовать событие DrawItem:
public Form1()
{
InitializeComponent();
comboBox1.DrawItem += comboBox1_DrawItem;
comboBox1.DataSource = System.Drawing.FontFamily.Families.ToList();
}
Здесь мы создаем метод comboBox1_DrawItem
и назначаем DataSource для ComboBox как текущие установленные семейства шрифтов.
private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
var comboBox = (ComboBox)sender;
var fontFamily = (FontFamily)comboBox.Items[e.Index];
var font = new Font(fontFamily, comboBox.Font.SizeInPoints);
e.DrawBackground();
e.Graphics.DrawString(font.Name, font, Brushes.Black, e.Bounds.X, e.Bounds.Y);
}
Тогда это должен быть метод DrawItem
. Вы также можете указать comboBox1.DrawMode = DrawMode.OwnerDrawFixed;
в publi c вашей формы.