我想在 c# .NET 4.5 Windows 窗体应用程序(注意:不是 WPF)中创建一个组合框,它显示系统上所有 truetype 安装的字体,并且每个字体都使用它所代表的字体进行格式化(“Times”使用 Times 进行格式化, “Arial”格式为 arial 等)。
这个怎么做?
Use 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)