|
アドバイスを参考に処理を追記してみたのですが、
上手くいきません。。。
以下がソースです。
public Form1()
{
InitializeComponent();
textBox1.DragEnter += new DragEventHandler(TextBox_DragEnter);
textBox1.DragDrop += new DragEventHandler(TextBox_Drop);
}
private void TextBox_Drop(object sender, DragEventArgs e)
{
MessageBox.Show("Drop");
}
private void TextBox_DragEnter(object sender, DragEventArgs e)
{
if (e.Data == null)
return;
if (e.Data.GetDataPresent("Text"))
{
if ((e.AllowedEffect & DragDropEffects.Link) == DragDropEffects.Link)
{
e.Effect = DragDropEffects.Link;
}
else if ((e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy)
{
e.Effect = DragDropEffects.Copy;
}
else if ((e.AllowedEffect & DragDropEffects.Move) == DragDropEffects.Move)
{
e.Effect = DragDropEffects.Move;
}
else
{
return;
}
}
else
{
return;
}
上手くいかないこと1
GetDataPresentを使用して、ドラッグされたデータ形式がTextであるかを調べたい。
DataFormatsメンバに識別名らしきものが、記載されていたので、stringで指定したのですが上手くいきません。
上手くいかないこと2
上記処理を外して、e.AllowedEffect を調べてe.Effectを指定する方のみを実装しても
やはり、TextBox_Dropが呼び出されない。
アドバイス、助言等おねがいします。
|