none
RichTextBoxへのファイル挿入、オブジェクト挿入について RRS feed

  • 質問

  • Outlookのリッチテキスト形式のメール作成と同様に、RichTextBox内にファイルの挿入(アイコン形式でファイルを貼り付け)およびオブジェクトの挿入を行いたいと考えています。
    検索の仕方が悪いのか、実現方法を記載したサイトを見つける事ができません。
    実現方法または上記操作について紹介しているサイトをご存知の方はお教え頂きたく、宜しくお願いいたします。

    2007年2月5日 13:17

回答

  • RichTextBoxのEnableAutoDragDropプロパティ(.NET Framework 2.0以降)をTrueにすることで、リッチテキストへのドラッグ&ドロップが可能になります。これを用いて、ファイルをドラッグ&ドロップすることで、Outlookのリッチテキスト形式と同じようにアイコン形式での貼り付けができるのではないかと思います(私のほうでも試してみましたが、ファイルをドラッグ&ドロップすることでリッチテキスト内にアイコン形式でファイルを添付することができました)。

    ドラッグ&ドロップではなく、OpenFileDialogなどで選択させるとするならば、たとえば、クリップボードを利用して、

    ' ダイアログを開く(ユーザーにファイルを選択させる
    openFileDialog1.Multiselect = True
    openFileDialog1.ShowDialog()

    ' クリップボードにファイルを格納する
    Dim obj = New DataObject(DataFormats.FileDrop, openFileDialog1.FileNames)        Clipboard.SetDataObject(obj, False)

    ' リッチテキストボックスにペーストする
    richTextBox1.Paste()

    などとするのは、いかがでしょうか。

    ご質問と的外れな回答でしたらすみません。

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2007年2月7日 8:03

すべての返信

  • RichTextBoxのEnableAutoDragDropプロパティ(.NET Framework 2.0以降)をTrueにすることで、リッチテキストへのドラッグ&ドロップが可能になります。これを用いて、ファイルをドラッグ&ドロップすることで、Outlookのリッチテキスト形式と同じようにアイコン形式での貼り付けができるのではないかと思います(私のほうでも試してみましたが、ファイルをドラッグ&ドロップすることでリッチテキスト内にアイコン形式でファイルを添付することができました)。

    ドラッグ&ドロップではなく、OpenFileDialogなどで選択させるとするならば、たとえば、クリップボードを利用して、

    ' ダイアログを開く(ユーザーにファイルを選択させる
    openFileDialog1.Multiselect = True
    openFileDialog1.ShowDialog()

    ' クリップボードにファイルを格納する
    Dim obj = New DataObject(DataFormats.FileDrop, openFileDialog1.FileNames)        Clipboard.SetDataObject(obj, False)

    ' リッチテキストボックスにペーストする
    richTextBox1.Paste()

    などとするのは、いかがでしょうか。

    ご質問と的外れな回答でしたらすみません。

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2007年2月7日 8:03
  • ご丁寧なご回答どうもありがとうございました。説明不足で申し訳ありませんでした。
    エクスプローラからのドラッグ&ドロップでファイルを貼り付ける事は分かっておりましたが、アイコンのイメージが表示されないので、他の方法が無いか探していました。
    OutlookのメールやWordで作成したものをコピー&ペーストすればアイコンのイメージもきちんと貼り付くのですが、ちょっと現実的ではありませんし。
    上記でお教え頂いたクリップボードを使用する方法も実は試していました。MultiselectをFalseにしていたので、DataObjectの第2パラメータはFileNameで良いと思っていたのが間違いだったようです。
    FileNameではうまく貼り付きませんでしたが、お教え頂いたようにFileNamesにすると貼り付ける事ができました。どうもありがとうございました。

    しかし、相変わらずアイコンのイメージが表示されません。イメージやファイル名も表示するにはどうしたら良いのでしょうか。
    また、オブジェクトの挿入方法につきましてもお教え頂ければ幸いです。
    VS2005に興味を持ち、年末にExpressEditonを導入、書籍も買って頑張って勉強しているのですが、まだ駆け出しの初心者であり厚かましいと知りつつ周りに聞く相手も無くお願いさせて頂いた次第です。ご容赦ください。

    2007年2月7日 12:48
  • こちらこそご丁寧なご回答ありがとうございます。大変申し訳ございませんが、現時点で私の方ではお役にたてる情報がございません。お力になれず、申し訳ございません。
    # 因みに、私の開発/動作環境はWindows Vistaなのですが、Vistaですと、一部を除き概ねアイコンとファイル名が表示されていました。

    VS2005にご興味をもっていただき、ありがとうございます。学習、可能性の探究にこれからもMSDNフォーラムをご活用いただければと思います。

    皆様、有用な情報やご意見をお持ちでしたら、是非ともメッセージをよろしくお願いいたします。

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2007年2月8日 10:15