63687


お世話になっております。  
C#でクリップボードへファイルを切り取りたいと思い、下記のようなコードを作成しました。

[code]

    using System.IO;
    using System.Windows.Forms;
    
    string[] filelist = {"D:\\test1.txt", "C:\\test2.txt"};
    IDataObject data = new DataObject(DataFormats.FileDrop, filelist);
    byte[] bs = new byte[] { (byte)DragDropEffects.Move, 0, 0, 0 };
    MemoryStream ms = new MemoryStream(bs);
    data.SetData("Preferred DropEffect", ms);
    Clipboard.SetDataObject(data);
    
[/code]

しかし、このコードの場合、ファイルを切り取ったあとに、アプリケーションを終了してしまうと、クリップボードから貼り付けできなくなってしまいます。  
アプリケーション終了後でもファイルを貼り付けできるようにするには、どのような方法がありますでしょうか。  
何か方法があれば、教えていただけますと幸いです。  
以上、よろしくお願いいたします。


CC BY-SA 4.0
2020-03-09T06:08:50.400
63684
2020-03-09T19:55:29.413
2020-03-09T19:55:29.413
2376
29034
question
c# winforms
C#でファイルをクリップボードへ切り取る方法


第2引数にtrueを指定することでデータをアプリケーションが終了してもクリップボードに残しておくことができます。[(参考)](https://docs.microsoft.com/ja-
jp/dotnet/api/system.windows.forms.clipboard.setdataobject?view=netframework-4.8#System_Windows_Forms_Clipboard_SetDataObject_System_Object_System_Boolean_)

[code]

    Clipboard.SetDataObject(data, true);
    
[/code]


CC BY-SA 4.0
2020-03-09T06:38:06.957
63687
2020-03-09T15:36:55.230
2020-03-09T15:36:55.230
14817
14817
63684
answer