首先抱歉我的英语不好。 我想使用C#使用WinForms或WPF创建桌面应用程序。此应用必须以http://www.dafont.com/theme.php?cat=115&text=Font+Test网站的相同方式运作。用户将输入示例文本,我将在列表视图或网格中以此计算机中安装的不同字体显示此文本。你能否指导我做这件事的最佳做法是什么?
答案 0 :(得分:1)
在WPF中,它只是一个XAML:
xmlns:media="clr-namespace:System.Windows.Media;assembly=PresentationCore"
<TextBox Name="sampleTextTB" Text="Some fox jumped over some other animal, i think"/>
<ItemsControl ItemsSource="{x:Static media:Fonts.SystemFontFamilies}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ElementName=sampleTextTB, Path=Text}"
FontFamily="{Binding}" FontSize="20"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
答案 1 :(得分:0)
private void button1_Click(object sender, EventArgs e)
{
string text = textBox1.Text;
FontFamily ff = GetRandomFont();
Font fnt = new Font(ff, 12, FontStyle.Bold | FontStyle.Italic);
textBox2.Font = fnt;
textBox3.Font = fnt;
textBox2.Text = textBox1.Text;
textBox3.Text = textBox1.Text;
}
private FontFamily GetRandomFont()
{
FontFamily[] ff = System.Drawing.FontFamily.Families;
Random rnd = new Random();
int num = rnd.Next(ff.Length);
return ff[num];
}