windows窗体的文件拖放问题 在做一个windows窗体项目,窗体的AllowDrop属性设置为true,代码写好以后测试拖放,发现代码被正常执行,但是鼠标还是显示的不可用。请大家指点一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 加上事件private void Form1_DragEnter(object sender, DragEventArgs e){ if (e.Data.GetDataPresent(DataFormats.Bitmap) || e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Copy; } else { e.Effect = DragDropEffects.None; }} void clsbtn_MouseMove(object sender, MouseEventArgs e) { clsReservationTable clsbtn = sender as clsReservationTable; if (clsbtn != null) { if (e.Button == MouseButtons.Left) { clsbtn.DoDragDrop(this, DragDropEffects.Copy); } } } void clsbtn_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Copy; } void clsbtn_DragDrop(object sender, DragEventArgs e) { clsReservationTable clsbtn = sender as clsReservationTable; if (clsbtn != null) { clsReservationTable btn = e.Data.GetData(typeof(clsReservationTable)) as clsReservationTable; if (btn != null) { if (btn.p_ResInfo.p_List.Count > 0) { Model.clsmq_Reservation model = btn.p_ResInfo.p_List[0]; model.a_TableID = clsbtn.p_id; model.a_TableNubmer = clsbtn.p_TableNumber; BLL.clsmq_Reservation bll = new AldeloEx.BLL.clsmq_Reservation(); bll.Update(model); daServer.fnLog("move Reservation from TableNubmer:" + btn.p_TableNumber + " to :" + clsbtn.p_TableNumber); this.refresh(); } } } } DragEventArgs.Effect 属性:获取或设置拖放操作中目标放置效果以下效果可选:All 从拖动源复制、移除数据,并将其滚动到放置目标中。 Copy 将数据复制到放置目标。 Link 将拖动源中的数据链接到放置目标。 Move 将拖动源的数据移动到放置目标。 None 放置目标不接受该数据。 Scroll 即将在放置目标中开始滚动,或当前正在滚动。 楼主,1楼的代码是试过的有效果,如果不设置这个状态,图标是禁止符号,加上这段代码,方块中一个加号.这个方法(Form1_DragEnter)一定要在属性窗口(DragEnter)指定它. datagridview中当我点击某一行的时候,如何获得这一行的某个数据 winform 用个皮肤奇慢 c#如何实现查找 如何实现高效的随机乱序 不允许用于访问路径“...”的 HTTP 谓词 POST 取出硬件信息 启动窗体 有关调试代码的问题? 如何去除或屏蔽.net的强名称验证问题 问 C# 应用程序部署打包 触发日期比对该用哪个事件最好??
{
if (e.Data.GetDataPresent(DataFormats.Bitmap) || e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
{ clsReservationTable clsbtn = sender as clsReservationTable;
if (clsbtn != null)
{
if (e.Button == MouseButtons.Left)
{
clsbtn.DoDragDrop(this, DragDropEffects.Copy);
}
}
} void clsbtn_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Copy;
} void clsbtn_DragDrop(object sender, DragEventArgs e)
{
clsReservationTable clsbtn = sender as clsReservationTable;
if (clsbtn != null)
{
clsReservationTable btn = e.Data.GetData(typeof(clsReservationTable)) as clsReservationTable;
if (btn != null)
{
if (btn.p_ResInfo.p_List.Count > 0)
{
Model.clsmq_Reservation model = btn.p_ResInfo.p_List[0];
model.a_TableID = clsbtn.p_id;
model.a_TableNubmer = clsbtn.p_TableNumber;
BLL.clsmq_Reservation bll = new AldeloEx.BLL.clsmq_Reservation();
bll.Update(model);
daServer.fnLog("move Reservation from TableNubmer:" + btn.p_TableNumber + " to :" + clsbtn.p_TableNumber);
this.refresh();
}
} }
}
All 从拖动源复制、移除数据,并将其滚动到放置目标中。
Copy 将数据复制到放置目标。
Link 将拖动源中的数据链接到放置目标。
Move 将拖动源的数据移动到放置目标。
None 放置目标不接受该数据。
Scroll 即将在放置目标中开始滚动,或当前正在滚动。