tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルRichTextBoxについて
記事No7695
投稿日: 2008/06/16(Mon) 16:10
投稿者ゆうき
ゆうきです。

早速なんですが、RichTextBoxについて2つ質問があります。


1.フォントについて
デザイナ画面で、RichTextBoxのFontプロパティを
「MS ゴシック, 9.75pt」としました。
また、Textプロパティに「aaa」と入力しました。
ここで、実行して文字を入力すると、元からあった文字は
MS ゴシックの9.75ptとなっているのに、後から新しく入力した文字は、
MS UI Gothicになってしまいます。RichTextBoxでは、
いちいちフォントをチェックしなければいけないのでしょうか。

2.タブ文字の入力について
RichTextBoxを選択している状態で、Tabキーを押すと、「    」と
入力されるはずですが、されないので、AcceptsTabプロパティをTrueにしたら
入力されました。でも、入力したいタブ文字は、「    」ではなく、
Visual Basic等標準の「    」半角4文字を入力したいと思っています。
===================================================================================
    Private Sub RichTextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles RichTextBox1.KeyDown
        If e.KeyCode = Keys.Tab Then
            'ここに処理を追加したいと思うのですが、
            'どんな処理を書いたらいいのかわかりません。
        End If
    End Sub
===================================================================================
とりあえず、KeyDownイベントでTabキーの押下を拾ってみたのですが、
その先の処理がわかりません。


この2つのことについてわかる方、ご教授お願いします。

[ツリー表示へ]
タイトルRe: RichTextBoxについて
記事No7696
投稿日: 2008/06/16(Mon) 17:03
投稿者花ちゃん
> 1.フォントについて

RichTextBox Font をキーワードに検索すれば解決策が掲載されています。

> 2.タブ文字の入力について
> Visual Basic等標準の「    」半角4文字を入力したいと思っています。
TAB = 半角文字4個分 ではありません。
TAB をユーザー指定の文字数に置きかえているだけだと思います。
(私の設定は半角3文字分です)

従って、同じようにしたいなら、TAB 文字を 半角4個 と置き換え処理をして下さい。

[ツリー表示へ]
タイトルRe^2: RichTextBoxについて
記事No7697
投稿日: 2008/06/16(Mon) 17:39
投稿者ゆうき
ゆうきです。
花ちゃんさん、回答ありがとうございます。

1.フォントについて
RichTextBox1.LanguageOption = RichTextBoxLanguageOptions.DualFont
で解決しました。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1198037&SiteID=7
を参考にしました。

2.タブ文字の入力について
APIで
SendMessage(RichTextBox1.Handle, EM_SETTABSTOPS, 1, New Integer() {16})
とすることで成功しました。
http://dobon.net/vb/melma/dotnet63.txt
を参考にしました。

解決しました。ありがとうございます。

[ツリー表示へ]