2009-06-03 16 views
1

私は現時点で同僚と一緒にアプリケーションを作成しています。ユーザーがテキストを入力して管理できるWebフォームを作成していますデータベースに保存され、デスクトップアプリケーション内に表示されます。リッチテキストをWebアプリケーションから保存してリッチテキストボックスに表示する方法

私はリッチテキストボックスを使用して、データベースのテキストを表示しています。ユーザーは、Webアプリケーションで基本的な書式(太字、斜体、下線)を使用し、その書式をデスクトップアプリケーションに表示できるようにしたいと考えています。

ウェブフォーム([b]など)に入力できるタグがあるかどうかは、RTB内の書式が自動的に表示されます。

これが不可能な場合、この機能を実現するにはどうすればよいでしょうか?

私はデスクトップアプリケーション用にC#windowsフォームを使用しています。

更新: ウェブフォームはPHPです。

答えて

1

私は数年前にこれで遊ん - 基本的に私は、私は特定の単語を強調するまでマーキングされたデータベース内のテキストを持っていました。私はストアドプロシージャでそれをマークし、それをクライアント側のRTFに翻訳しました。

私はRTF仕様を調べてみましたが、仕様を読み、何をすべきかを知ることはやや難しいです。

開いているワードパッド(スタート - >実行 - >ワードパッド)をポップアップして、別のフォントスタイルなどで混乱させることをお勧めします。 RTFドキュメントとしてどこかに保存します。あなたが選んだプレーンテキストエディタ(私はNotepad++を使用します)でそのドキュメントを開くと、RTFをもっと簡単に理解するのに役立ちます。

は、ここで私が作成した簡単なRTF文書の例です:

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}} 
{\colortbl ;\red0\green0\blue255;} 
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20 Hello World.\par 
\b This text is bold.\b0\par 
\i This text is italicized.\i0\par 
\cf1 This text is blue.\cf0\par 
} 

これらのタグの中には、あなたはおそらくなしで行うことができますだけ余分なマークアップされています。それで遊んでみてください。

結局あなたはの線に沿って何かを行うことができるはず:

string rtf = GetMarkupTextFromServer(); 
rtf = rtf.Replace("[b]", @"\b"); 
rtf = rtf.Replace("[/b]", @"\b0"); 
rtf = rtf.Replace("[i]", @"\i"); 
rtf = rtf.Replace("[/i]", @"\i0"); 
    ... 
mRichTextBox.Rtf = rtf; 
1

ユーザーがWindows側ではなくWeb側でのみデータを編集できる場合は、HTMLソースをDBに保存して、WindowsアプリのWebブラウザコントロールに表示できます。

1

上記のBFreeのように、ウェブ環境で行うのはリッチテキストHTMLエディタです。幸いにもあなたのためにそこにnumerous free editorsがあります。情報をデータベースにHTMLとして保存し、WebFormでその情報を再利用することを選択した場合、Webブラウザコントロールが問題になります。ただし、ライブラリを使用してHTMLとRTFの間で情報を変換することもできます。

残念なことに、検索した後、私はあなたが支払う必要がないものを見つけることができませんでした。あなたはプログラムで変換を行うためにMS Wordをデータポンプとして利用できるかもしれませんが、これはうまく拡張できません。

1

ウェブブラウザコントロールを使用して、ウェブフォームで使用しているのと同じエディタを使用して、今後複雑な問題にならないようにしてください。

両方の環境で同じルックアンドフィールを使用できます。ウェブフォームでエディタを使用するために何か助けが必要な場合は、このメッセージに返信してください。

HTH

0

は一時というフォルダを作成し、私が求めていたもの

frmEditPro.RichTextBox1.SaveFile("C:\temp\Doc1.rtf", _RichTextBoxStreamType.RichText) 
+0

このコードを未使用します。問題は、PHPからRTFを保存し、そのフォームをWinForms内のRTFとして表示することでした。これは非常に非常に古い質問です。私は今、HTMLを保存し、それをWebブラウザコントロールに表示するだけです。 –

関連する問題