3
목록 상자의 요소를 탐색기에 끌어다 놓으 려합니다. 가이 문서에서 설명하고 비트를 프로그램 코드 변경으로 나는 하나 개 존재하지 않는 파일의 복사본을 만든 : How to use filegroupdescriptor to drag file to explorer c#여러 파일이 탐색기에 존재하지 않습니다.
private void listView1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.None)
return;
byte[] array = Encoding.ASCII.GetBytes("ABCD");
DataObject dataObject = new DataObject();
DragFileInfo filesInfo = new DragFileInfo(@"myFile.txt", array);
MemoryStream infoStream = GetFileDescriptor(filesInfo);
MemoryStream contentStream = GetFileContents(filesInfo);
dataObject.SetData(CFSTR_FILEDESCRIPTORW, infoStream);
dataObject.SetData(CFSTR_FILECONTENTS, contentStream);
dataObject.SetData(CFSTR_PERFORMEDDROPEFFECT, null);
// drag and drop file with name "myFile.txt" and body "ABCD".
DoDragDrop(dataObject, DragDropEffects.All);
}
private MemoryStream GetFileContents(DragFileInfo fileInfo)
{
MemoryStream stream = new MemoryStream();
if (fileInfo.SourceFileBody.Length == 0) fileInfo.SourceFileBody = new Byte[1];
stream.Write(fileInfo.SourceFileBody, 0, fileInfo.SourceFileBody.Length);
return stream;
}
public struct DragFileInfo
{
public string FileName;
public byte[] SourceFileBody;
public DateTime WriteTime;
public Int64 FileSize;
public DragFileInfo(string fileName, byte[] sourceFileBody)
{
FileName = fileName;
SourceFileBody = sourceFileBody;
WriteTime = DateTime.Now;
FileSize = sourceFileBody.Length;
}
}
이 잘 작동을하지만 드래그하여 동시에 여러 파일을 드롭 할 필요가 . 어떻게해야합니까?
나는 파일 이름 배열 –