none
Visual Basic 2010でのRichTextBoxの選択した文字列の色やフォントの設定方法 RRS feed

  • 質問

  • Visual Basic 2010でRichTextBoxを使用しておりますが、選択された文字列の色やフォントの設定方法が、旧バージョンと変更されているようです。たとえば、

    RichTextBox1.SelectionColor = Color.Red

    RichTextBox1.SelectionFont = New Font("Verdana", 12, FontStyle.Bold)

    といった指定をすると、「メンバーではありません」というエラーが出て、指定することができませんでした。

    MSDNを調べたのですが、.NET Framework 4 においても、SelectionColorなどはそのまま使用可能であるかのような記述になっており、これに代わるプロパティが見当たりませんでした。上記のコードに代わるVB2010に対応したコードを教えていただけますでしょうか。よろしくお願いいたします。

    2010年11月9日 8:10

回答

  • Visual Studio 2010 の Visual Basic + .NET Framework 4 で、Windows Forms の RichTextBox を使って試してみましたが、ご提示されたサンプルコードはエラーが出ませんでした。

    Windows Forms の RichTextBox でしょうか?それとも、WPF だったりしますか?


    なかむら(http://d.hatena.ne.jp/griefworker)
    • 回答としてマーク Ykne501 2010年11月10日 0:26
    2010年11月9日 8:48
  • WPF アプリケーションとして作成した、WpfApplication1 に該当のコードを貼り付けると、以下のようなエラーになりますね。

    エラー 1 'SelectionColor' は 'System.Windows.Controls.RichTextBox' のメンバーではありません。
    エラー 2 'Red' は 'System.Windows.Media.Color' のメンバーではありません。
    エラー 3 'SelectionFont' は 'System.Windows.Controls.RichTextBox' のメンバーではありません。
    エラー 4 型 'Font' が定義されていません。

    WPF アプリケーションかどうかは、プロジェクトの名称であったり、ソリューション エクスプローラー に *.xaml が表示されていたりといたり、デザイナーが下半分にタグを打ち込む形式であったりと、いろいろと差があるので判断の参考にしてください。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    • 回答としてマーク Ykne501 2010年11月10日 0:26
    2010年11月9日 13:46
    モデレータ

すべての返信

  • Visual Studio 2010 の Visual Basic + .NET Framework 4 で、Windows Forms の RichTextBox を使って試してみましたが、ご提示されたサンプルコードはエラーが出ませんでした。

    Windows Forms の RichTextBox でしょうか?それとも、WPF だったりしますか?


    なかむら(http://d.hatena.ne.jp/griefworker)
    • 回答としてマーク Ykne501 2010年11月10日 0:26
    2010年11月9日 8:48
  • WPF アプリケーションとして作成した、WpfApplication1 に該当のコードを貼り付けると、以下のようなエラーになりますね。

    エラー 1 'SelectionColor' は 'System.Windows.Controls.RichTextBox' のメンバーではありません。
    エラー 2 'Red' は 'System.Windows.Media.Color' のメンバーではありません。
    エラー 3 'SelectionFont' は 'System.Windows.Controls.RichTextBox' のメンバーではありません。
    エラー 4 型 'Font' が定義されていません。

    WPF アプリケーションかどうかは、プロジェクトの名称であったり、ソリューション エクスプローラー に *.xaml が表示されていたりといたり、デザイナーが下半分にタグを打ち込む形式であったりと、いろいろと差があるので判断の参考にしてください。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    • 回答としてマーク Ykne501 2010年11月10日 0:26
    2010年11月9日 13:46
    モデレータ
  • ご返信をありがとうございます。ご指摘のとおり、WPFApplicationでの作成でした。やはり、WPFApplicationでは対応していないということですね。WPFApplicationでの解決策(代替案)を調べてみます。ありがとうございました。
    2010年11月10日 0:23
  • WPF を知らない私が適当に C# で書いた例です。
    微妙に参考にしながら、VB.NET でも書いてみてください。

    var textRange = richTextBox1.Selection;
    textRange.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Red);
    textRange.ApplyPropertyValue(TextElement.FontFamilyProperty, new FontFamily("Verdana"));
    textRange.ApplyPropertyValue(TextElement.FontSizeProperty, 12.0);
    textRange.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold);
    
    

     


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2010年11月10日 14:41
    モデレータ