Предварительный просмотр шрифтов в Win Forms с использованием C # - PullRequest
0 голосов
/ 22 апреля 2011

Прежде всего, извините за мой плохой английский. Я хочу создать настольное приложение, используя WinForms или WPF, используя C #. Это приложение должно работать так же, как http://www.dafont.com/theme.php?cat=115&text=Font+Test сайт. Пользователь введет образец текста, и я покажу этот текст различными шрифтами, установленными на этом компьютере, в виде списка или сетки. Не могли бы вы рассказать мне, как лучше всего это делать?

Ответы [ 2 ]

1 голос
/ 22 апреля 2011

В 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>
0 голосов
/ 22 апреля 2011
 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];
        }
...