画像とテキストを1つのオブジェクトとしてクリップボードにコピーするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/285042

  •  08-07-2019
  •  | 
  •  

質問

ファイルの画像とファイルのテキストの両方をクリップボードにコピーしようとしています。次に、Word文書またはOutlook電子メールを開き、テキストと画像の両方を1つの標準の貼り付けコマンド(たとえば、CTRL-V)で貼り付けます。両方を別々に簡単に実行できますが、1つの操作で両方を実行しても機能しないようです。

これは、2つの操作を別々の操作として実行する方法です(もちろん、関連するコード行のみ、try / catchを削除するなど):

クリップボードに画像を追加:

...

Bitmap imageToAdd = new Bitmap(imageFilePath);
Clipboard.SetImage(imageToAdd);

...

クリップボードにテキストを追加:

...

StreamReader rdr = new StreamReader(textFilePath);
string text = rdr.ReadToEnd();

Clipboard.SetText(text);

...

C#および.net 2.0フレームワークを使用しており、Windows XP(および近い将来Vistaをターゲットにします)。

TIA

役に立ちましたか?

解決

オブジェクトのみが渡されることに気付きました。

その場合、ユーザーがコマンドを押して貼り付けると、コードは2つの関数、または1つの関数を再帰的に実行し、必要なデータを取得して貼り付けることができます。

だから、ループまたは再帰を見てください。

他のヒント

テキストとグラフィックを組み合わせることができるRTFを使用できます。クリップボードにCF_BITMAPとCF_TEXTを同時に配置できることに注意してください。しかし、それは役に立ちません。メモ帳に貼り付けるとテキストが表示され、ペイントに貼り付けるとビットマップが表示され、他のほとんどのアプリではどちらか一方が選択されますが、両方は選択されません。ですから、単に学術的なものです。スタートレックでの輸送機の誤動作のように、きちんとした種類のものはきちんとしていた。でも面倒です。

Objectパラメーターを必要とするSetDataObjectを使用したり、オブジェクト配列を使用したりできますか?

オブジェクト配列には、必要なデータを保持できます。

こちらのリンクをご覧ください:

http://msdn.microsoft.com/en-us/library /5b8kt5z4.aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top