リッチテキストで選択された範囲を太字や斜体等に変換させたく
RichTextBox1.SelectionFont = _
New Font(RichTextBox1.SelectionFont, RichTextBox1.SelectionFont.Style Or FontStyle.Bold)
このようにした場合、選択文字に複数のフォント?が含まれてると
System.NullReferenceException はハンドルされませんでした。
オブジェクト参照がオブジェクト インスタンスに設定されていません。
となってしまいます。
SelectionFont プロパティが Nothing を返してくるようで…
仕方なく以下のようにして1文字づつ変換しているのですが
With RichTextBox1
For i As Integer = .SelectionStart To .SelectionStart + .SelectionLength - 1
.SelectionStart = i
.SelectionLength = 1
.SelectionFont = New Font(.SelectionFont, .SelectionFont.Style Or FontStyle.Bold)
Next
End With
他にうまく変換させる方法はないでしょうか?
投稿日時 - 2006-06-29 08:41:27
このQ&Aは役に立ちましたか?
1人が「このQ&Aが役に立った」と投票しています
回答(3件中 1~3件目)
ANo.2
すみません参考URL間違えていました
http://msdn.microsoft.com/library/ja/cpref/html/frlrfSystemWindowsFormsRichTextBoxClassSelectionFontTopic.asp?frame=true
投稿日時 - 2006-07-04 10:28:21
ありがとうございます。
参考 URL 以前に見た記憶が・・・
こちらの使用例を見ますと
If Not richTextBox1.SelectionFont Is Nothing Then
としっかり書いてあり、Nothing が返ってきた場合は処理しないようにしてあります。
SelectionFont が Nothing を返してくる以上、無理なんでしょうかね…
投稿日時 - 2006-07-04 19:05:53
ANo.1
すみませんがMicrosoftのMSDNサイトで調べただけで
試していませんが下記コードを試してみて下さい
RichTextBox1.SelectionFont = New Font( _
CurrentFont.FontFamily, _
CurrentFont.Size, FontStyle.Bold)
参考URL
http://msdn.microsoft.com/library/ja/?url=/library/ja/cpref/html/frlrfSystemWindowsFormsRichTextBoxClassTextTopic.asp
選択テキストに複数のフォントが指定されていると
Null参照になるのでCurrentFontを指定するのかな。
投稿日時 - 2006-07-04 10:26:47
あなたにおすすめの質問
- RichTextBoxで指定行の色を... RichTextBoxで指定行の色を自動で変更・・。
- 現在フォーカスが当っているRichT... 現在フォーカスが当っているRichTextBoxのNameを取得するには(VB.NET)
- VBのRichTextBoxの文字色... VBのRichTextBoxの文字色変更
- RichTextboxでのフォントの... RichTextboxでのフォントの指定方法について
- BoldやItalicのフォントを指... BoldやItalicのフォントを指定しても
- RichTextBoxの改行を認知し... RichTextBoxの改行を認知してくれない
- C# RichTextBoxについて... C# RichTextBoxについて
- 【C#】コンボボックスにおけるSel... 【C#】コンボボックスにおけるSelectionStart
- VB 2005 リッチテキストボック... VB 2005 リッチテキストボックス 文字選択
- RichTextBoxのTabについ... RichTextBoxのTabについて