我想在ac#.NET 4.5 Windows窗体应用程序(请注意:不是WPF)中创建一个组合框,该组合框显示系统上所有truetype安装的字体,并且每种字体都以其代表的字体进行格式设置(“ Times”以Times格式设置, “ Arial”格式为arial等)。
这该怎么做?
使用ComboBox.DrawItem
事件处理程序。
public YourForm()
{
InitializeComponent();
ComboBoxFonts.DrawItem += ComboBoxFonts_DrawItem;
ComboBoxFonts.DataSource = System.Drawing.FontFamily.Families.ToList();
}
private void ComboBoxFonts_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);
}
使用ComboBox.DrawItem
时需要设置ComboBox.DrawMode = DrawMode.OwnerDrawFixed
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句