3

私のアプリケーションでは、ユーザーのシステムで使用可能なフォントのリストからフォントを選択し、そのフォントをrichtextboxに設定する必要があります。私は試した ::

    System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection();
        foreach (FontFamily family in fonts.Families)
        {
           comboBox1.Items.Add(family.Name);
        }

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        richTextBox1.Font = new Font(comboBox1.SelectedText, 14);
    }

ただし、テキストのデフォルトの動作は変更されます。例:テキストには、太字と斜体の見出しが含まれています。上記のコードでフォントを設定すると、テキストが通常の形式に変換されます。私の質問は、テキストの動作を以前と同じように維持し、太字のテキストを太字で、斜体を斜体で維持することにより、テキスト全体を通常の形式で変更しないようにすることです。

4

2 に答える 2

0

フォントプロトタイプでフォントを初期化するオプションがあります。フォントプロトタイプをmicrsoftsansserifを使用して、目的のサイズとスタイルのフォントとして定義してから、新しいフォントを2番目のパラメーターとして渡します。msdnにはすべての情報があります。

于 2012-06-16T08:56:00.193 に答える
0

SelectedTextComboBoxテキストプロパティの強調表示された部分用です。おそらくあなたが望むものではありません:

richTextBox1.Font = new Font(comboBox1.Text, 14);

また、RichTextBoxの強調表示された部分に新しいフォントを使用したい場合は、次のようにします。

richTextBox1.SelectionFont = new Font(comboBox1.Text, 14);

強調表示されたテキストのいずれかの部分に太字と斜体が混在し、サイズが異なるなどの場合、RichTextBoxはそれらのプロパティを適切に保持しません。1つの要素を変更するときに、リッチテキスト形式(太字/斜体など)を維持するにはどうすればよいですか?を参照してください。

于 2012-06-16T12:13:42.627 に答える