在視窗上先將要丟入的區域LABEL的屬性AllowDrop設為True
利用DragEnter事件可以直接觸發拖入事件
private void txtContent_DragEnter(object sender, DragEventArgs e)
{
string[] l_strPaths = (string[])e.Data.GetData(DataFormats.FileDrop);
openFile(l_strPaths[0]);
}
private void openFile(string p_strPath)
{
StreamReader l_reader = new StreamReader(p_strPath, Encoding.Default);
txtContent.Text = l_reader.ReadToEnd();
l_reader.Close();
}
但是這樣無法做到合理的開啟檔案效果,必須要透過DragDrop事件來處理,但是DragDrop事件無法直接被觸發,必須要在DragEnter的事件裡面去觸發DragDrop的效果
private void txtContent_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.All;
}
然後在DragDrop事件裡面寫入要執行的動作
private void txtContent_DragDrop_1(object sender, DragEventArgs e)
{
string[] l_strPaths = (string[])e.Data.GetData(DataFormats.FileDrop);
txtPath.Text = l_strPaths[0];
openFile(l_strPaths[0]);
}
沒有留言:
張貼留言