0
にエクスプローラからドラッグすることはできません。エクスプローラからListViewにファイルをドロップし、ドラッグアンドドロップで並べ替えることができるようにしたい。私はエクスプローラからドラッグ/ドロップを取得するこの単純なコードを持っています。は、私はどこでもこれを見て、すべてのソリューションをしようと、私が欲しいものを得るために見せかけていないですしているListViewの
this.messageView.AllowDrop = true;
this.messageView.Location = new System.Drawing.Point(12, 52);
this.messageView.Name = "messageGrid";
this.messageView.Size = new System.Drawing.Size(121, 97);
this.messageView.TabIndex = 3;
this.messageView.UseCompatibleStateImageBehavior = false;
this.messageView.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
this.messageView.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter);
とハンドラ
private void Form1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent("FileGroupDescriptor"))
{
e.Effect = DragDropEffects.All;
}
}
private void Form1_DragDrop(object sender, DragEventArgs e)
{
messageView.Items.Add(e.Data.ToString());
}
私は私が私のフォーム上に持っているリッチテキストボックスにmessageViewを変更するの、それだけで正常に動作しますので、これは、奇妙です。私がしなければならない追加のステップはありますか?私はListViewにドロップしようとすると、私はエクスプローラからの線を持つ円を取得します。どんな助けもありがとう。ありがとう。
彼らは、リストビューで処理され、それらの名前だけは少しファンキーです。 (文字列[]あなたは繰り返すことができ、彼らはFileDrop、右の文字列があるべき定数DataFormats.FileDropに、あなたは正しいデータを得ることができますDragDropイベントでのInitializeComponent() –
変更「FILEGROUPDESCRIPTOR」以外の場所に初期化する必要がないということ)ToString()の代わりにe.Data.GetData()メソッドを使用しています。 –