none
RichTextBoxに「表\」という文字列を設定すれば、「表」という漢字後の「¥」が表示されません RRS feed

  • 質問

  • 初めて、投稿させていただきます。

    VS2005のRichTextBoxを使って、以下のように、文字列を設定しましたが、 「表」という漢字後の「¥」が表示されません。

    String tmp = @"{\rtf1\fbidis\ansi\ansicpg932\deff0\deflang1041{\fonttbl{\f0\finl MS UI Gothic;}}
                  {\colortbl ;\red0\green0\blue0;\red255\green255\blue255;\red255\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red0\green0\blue255;\red0\green255\blue0;}
                  \viewkind4\uc1\pard\ltrpar\cf1\f0\fs18 {\cf5\f0\fs18 Error}\cf1\f0\fs18 ->\\2表\\あAAA.xls) \par";
    
    richTextBox1.Rtf = tmp;
    
    
    これはRichTextBoxの障害か、解決法など、ご存知の方おられましたら、ご教授お願いします。

     

     

    2010年10月20日 4:26

回答

  • >「表」という漢字後の「¥」が表示されません。

     

    RTF(リッチテキストフォーマット)における日本語の表記は、S-JISのSCII形式となります。

    なので、「\2表\あAAA.xls」は、RTFでは「\\\'82\'51\'95\'5c\\\'82\'a0AAA.xls」となります。

    RTF内の日本語は正しい表記で表すことで、発生している問題は解決されると思います。

     

    ※追記

    以下を確認すると簡単にわかります。

    private void button2_Click(object sender, EventArgs e)
    {
    	RichTextBox rt = new RichTextBox();
    	rt.Text = @"\2表\あAAA.xls";
    	MessageBox.Show(rt.Rtf);
    }
    

    • 編集済み honefai 2010年10月20日 5:57 追記
    • 回答の候補に設定 山本春海 2010年10月27日 8:31
    • 回答としてマーク 山本春海 2010年11月1日 8:26
    2010年10月20日 5:00