|
分類:[C#]
こんにちは こたろーと申します。
現在、プログラムの中でコピー&ペースト機能を実現するために、 Clipboard.SetData,Clipboard.GetData,Clipboard.Clearを使用しています。
しかし、この呼び出しを連続で行うと徐々に処理が重くなり最後はフリーズ に近い状態になり落ちる場合もあります。
なお、Clipboard.SetData,Clipboard.GetDataには、カスタム形式を指定し、 自作クラスが要素に設定されたListクラスを格納しています。
コードは、以下のようなイメージで記載しています。 --------------------------------------------------------------------------- // コピー処理 // 前回クリップボードデータのクリア Clipboard.Clear(); // クリップボードに転送するデータを生成 List<MyClass>MyClassList = new List<MyClass>(); MyClass my = new MyClass(); MyClassList.Add(my); // クリップボードにデータを転送 Clipboard.SetData("MyClassData", MyClassList); --------------------------------------------------------------------------- // ペースト処理 // クリップボードからデータを取得 List<MyClass> MyClassList = Clipboard.GetData("MyClassData") as List<MyClass>; ---------------------------------------------------------------------------
どなたか問題の原因と解決方法がわかりましたら教えてください。
開発環境は以下の通りです。
・VS2012 ・Windows7 64bit ・.NET Framework4.5
|