• ベストアンサー

VB.NETの初心者です。 RichTextBoxの文字列の行間を狭く

VB.NETの初心者です。 RichTextBoxの文字列の行間を狭く変更したいのですがやり方が判りません。何方かお教え頂きたくよろしくお願い申し上げます。

noname#141752
noname#141752

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

行間を詰めるだけでいいのなら、下記のようにしてもできます。 テキストを表示する前に設定してから、読み込み表示して見て下さい。 但し、サイズの指定はできません。 RichTextBox1.LanguageOption = RichTextBoxLanguageOptions.UIFonts

noname#141752
質問者

お礼

vbhanatyan様 有益なお教え頂き有り難う御座います。 早速試してみましたが当方の希望に添うプログラムにすることが出来ました。 簡単な方法でこんなに有益な結果が得られるので驚いています。 重ねて御礼申し上げます。

その他の回答 (2)

回答No.2

>このためお教えいただいたWord経由の方法は無理かと思います。 どう無理だったのでしょうか? 試されたコードはどのようなコードですか? (先にも言いましたが、上記ができないようでは、APIを使った方法は無理かと) >もし具体的にお教えいただければ挑戦してみたいと思っています。よろしくお願い申し上げます。 ヒントは色々提示したはずですが、ご自分で少しは、WEB上を検索して試す等して見ないようでは チョット無理かと思いますよ。 >挑戦してみたいと思っています 思っているだけでは、何も進みません、色々検索して調べたのなら、質問する内容も違ってきて いるはずです。(その辺の具体的な質問なら答えますが)

noname#141752
質問者

お礼

vbhanachann様 初心者のため調査も十分に行えていません。 別途お教え頂いた方法を使用してゆく予定です。 有り難う御座いました。

回答No.1

下記のような設定でよければ、一番簡単な方法は、Word 経由で クリップボードを介してコピー&ペーストする方法です。 (これができなければ下記は無理です。) チョット厄介ですが、Win32API関数のSendMessage を使ってもできます。 但し、初心者 との事なら、Win32API を使用するのでお薦めできません。

noname#141752
質問者

お礼

vbhanatyan様 早速にご指導頂き有り難う御座います。 当方としてはプログラムの中でRichTextBoxの中にできるだけ多くの情報を表示させたいのです。 このためお教えいただいたWord経由の方法は無理かと思います。 Font.Heightを利用して改行幅を狭くすることはできないのでしょうか? またWin32APIはVB6で僅かですが使用した経験がありますのでAPI ViewerをInstallしてSendMessageは調べてみましたがWPAARAM, LPARAMなどにどのような値を入れれば改行幅を狭く設定できるかがわかりません。 もし具体的にお教えいただければ挑戦してみたいと思っています。よろしくお願い申し上げます。

関連するQ&A

  • VB2010でRichTextBoxでの一文字ずつ選択するにはどうすれ

    VB2010でRichTextBoxでの一文字ずつ選択するにはどうすればいいのでしょうか・・・? マウスでドラッグして選択範囲を作りその部分だけフォントで色変更を行いたいのですが、それ以前に一文字ずつドラッグできず一気にすべてが選択範囲となってしまいます。 例えば「あいうえお」というのがあってドラッグして「あ」だけを選択しようとすると5文字全てが選択されてしまうということです。 TextBoxでは一文字ずつ選択できるのですがRichの方でないと選択部分のみの色変更は出来ないとのことらしいので・・・。 どなたか解決策をお教えください。

  • 文字列の検索について

    RichTextBoxの文字列の中の太字にした文字列や、斜体にした文字列などを検索したいのですが、InStrでできますか? もしくは他にやり方があったら教えてください。お願いします。ちなみにVB6.0です。

  • VB2010のRichTextBoxで改行が消える

    VB2010のWindowsフォームアプリに於いて RichTextBoxに改行が入ったテキストを入力したり、 RichTextBox.Textプロパティにテキストファイルから読み込んだ改行入りのテキストをセットしてそれを ファイルに吐き出したり、別のTextBox.Textにセットしてやると 改行が消えて一行のテキストになってしまいます。 RichTextBoxに何か設定が必要なんでしょうか?

  • VBA・VB6.0・VB.NETの文字列型

     失礼します。  Excel97/2000のVBAの文字列型変数は、アスキーコード129-159/224-252のデータを保持できないみたいですが、これはVB6.0/VB.NETなどでもそうなのですか?  つまり、VBAでは、 Sub main()  Dim s as String  s = Chr$(130)  Sheet1.Cells(1, 1) = Asc(s) End Sub  とすると、シートのA1に「0」が表示されてしまうということです。  というのも、私はVB6.0/VB.NETを持っていないのですが、ちょっとVB2.0時代のコードを使う必要が生じたので、VBAで実行してみたところ、以上のような仕様の違いに気付いたのです。  これがVBAだけの特性なのか、最近のVBはこういう仕様になってしまったのかが知りたいのです。

  • XmlTextWriterで改行、RichTextBoxで任意の文字列に属性を持たせるには

    XmlTextWriter writer = new XmlTextWriter("test.xml", null); writer.Formatting = Formatting.Indented; writer.WriteStartDocument(); writer.WriteStartElement("タイトル"); writer.WriteStartElement("内容"); writer.WriteStartElement("string"); writer.WriteAttributeString("size", RichTextBox.Text); writer.WriteString(RichTextBox.Text); writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Flush(); writer.Close(); 開発環境はC#です。 上記のようなコードでRichTextBoxから入力された文章をxmlに出力するのですが、 RichTextBox内で改行しても、xml文では1行文のままで出力されてしまいます。 これを、RichTextBox内で改行されたら、xml文でも改行されているようにするにはどうすれば良いのでしょうか? それと、RichTextBox内で文字列の大きさを変えるために、"size"というアトリビュートを持たせているのですが、 これを任意の選択した文字列だけにアトリビュートを持たせるにはどうすれば良いのでしょうか? 例:<string>こんにちははじめまして</string> <string>こんにちは</string> <string size="10">はじめまして</string> 上記の文を下記の様にしたいです。

  • VB6 文字列間 入力

    VB6で文字列間に値を入力したいです。 (例) 文字列「00112233445566778899」 この文字列で2文字毎に「+」と「=」を入力させて 文字列「00+11+22+33+44+55+66+77+88+99=」 というようにするにはどうすればいいでしょうか?

  • VBの文字列型について教えてください

    VBの文字列型についてヘルプを見てもわからないことがあります。 どなたか教えてください。 MSDNのヘルプでは、「固定長」は64kBまで、「可変長」は2GBまで、と何箇所も書いてあります。 が、どのようにしたら可変長に指定できるのかがわかりません。 最大で数MBのテキストファイル内容を1つの文字列変数に入れて扱えたら助かるんですが・・・・ お願いします。

  • VB2008、文字色について教えて下さい

    VB2008を使用しています。 現在、Form内複数あるTextBox内の文字をいくつか選択し、RichTextBox内に"・"で区切って代入するプログラムを作成しています。 その際、RichTextBox内に代入されたTextBoxの文字色を赤色に変える(元は黒色です)コードを下記のように作成しました。 Dim strList() As String strList = RichTextBox1.Text.Split("・"c) For Each strMoji As String In strList Select Case strMoji Case TextBox1.Text TextBox1.ForeColor = Color.Red Case TextBox2.Text TextBox2.ForeColor = Color.Red End Select Next 上記コードは問題ないのですが、RichTextBox内に一度代入された複数のTextBoxの文字から、いくつかを選択して削除した際、選択したTextBoxの文字を元の黒色に戻す方法がわかりません。単純に全てのTextBoxの文字色を黒色に戻すコードを書いてしまうと、同様の操作を他のRichTextBoxに適用した場合、そちらに代入された文字色も黒色に戻ってしまいます。上記のコードを応用すれば出来そうなのですが、良い方法はないでしょうか?上記コード3行目の「In」を「Out」や「Cut」に変更しても構文エラーになってしまいました。

  • 文字サイズ・行間設定

    初歩的な質問ですみません。 ブログで『かんたんデザイン』のデザインパターンを選択しています。 その中で、文字サイズと行間だけ変更したいのですが、『プレビュー』では文字小さめ・行間広めで理想的に表示されるのですが、その後『設定』して『作成したページを見る』にしても全く変更されません。 どうしたら良いか、教えて下さい。 宜しくお願い致します。

    • 締切済み
    • Mac
  • C♯で文字列を切り出すには?

    C♯の文字列操作について教えてください。 "あいうえお"という文字列があったら、"あ"だけ 切り取って、"いうえお"という文字列がほしいのですが、 どのようにしたら良いのでしょうか? VB.NETでいう、midのようなものがあるかと思ったのですが、 見当たらず…。 サンプルを交えて教えていただけると助かります。 宜しくお願いします。