6月 17

編集結果をファイルに保存する

RichTextBoxの編集結果をファイルに保存するには
SaveFile 関数を利用します。

通常はテキストファイルだと思いますが
リッチテキスト(RTF)なども利用できます。
ファイルの種類は第2パラメータで指定します。

    // 第2パラメータでファイルの種類を指定します。(ここではPlainText)
    // 第2パラメータは省略可能です。その場合はASCIIテキストファイルになります。
    richTextBox1.SaveFile(@"c:\unko.txt", RichTextBoxStreamType.PlainText);


    // その他の第2パラメータの種類
    RichTextBoxStreamType.PlainText;        // テキストファイル(通常はこれ)
    RichTextBoxStreamType.RichNoOleObjs;    // OLEオブジェクトの代わりに空白を持つリッチテキスト
    RichTextBoxStreamType.RichText;         // リッチテキスト(RTF)
    RichTextBoxStreamType.TextTextOleObjs;  // OLEオブジェクトのテキスト表現を持つPlainText
    RichTextBoxStreamType.UnicodePlainText; // テキストファイル(Unicodeでエンコードされる)
6月 17

ファイルを読み込んで表示する

RichTextBoxにファイルを読み込んで表示するには
LoadFile 関数を利用します。

通常はテキストファイルだと思いますが
リッチテキスト(RTF)なども利用できます。
ファイルの種類は第2パラメータで指定します。

    // テキストファイルを読み込んで表示させます。
    // 第2パラメータでファイルの種類を指定します。(ここではPlainText)
    // 第2パラメータは省略可能です。その場合はASCIIテキストファイルになります。
    richTextBox1.LoadFile(@"c:\boot.ini", RichTextBoxStreamType.PlainText);


    // その他の第2パラメータの種類
    RichTextBoxStreamType.PlainText;        // テキストファイル(通常はこれ)
    RichTextBoxStreamType.RichNoOleObjs;    // OLEオブジェクトの代わりに空白を持つリッチテキスト
    RichTextBoxStreamType.RichText;         // リッチテキスト(RTF)
    RichTextBoxStreamType.TextTextOleObjs;  // OLEオブジェクトのテキスト表現を持つPlainText
    RichTextBoxStreamType.UnicodePlainText; // テキストファイル(Unicodeでエンコードされる)
6月 17

テキストを表示する、URLをクリッカブルにする

RichTextBoxを使うと
文字を装飾したり文字通りTextBoxよりもリッチになります。

TextBoxコントロールと同じく
Textプロパティーに文字列を設定します。

また、文字列にURLが含まれる場合は自動でクリッカブルになります。
クリックされたイベントを取得するには
LinkClickedイベントを追加します。

richtextbox

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // リンクをクリックした際に呼ばれるイベントを追加
            richTextBox1.LinkClicked += new LinkClickedEventHandler(richTextBox1_LinkClicked);

            // 表示されるテキストを設定(URLは自動的にクリッカブルになります)
            richTextBox1.Text =
                "あいうえお\r\n" +
                "http://www.yahoo.co.jp/";
        }

        void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
        {
            // クリックされたリンクをブラウザで開きます
            try
            {
                System.Diagnostics.Process.Start(e.LinkText);
            }
            catch
            {
            }
        }
    }
}