vainquit 2018-08-26 16:24 采纳率: 100%
浏览 659
已采纳

为什么两个一模一样代码属性和结构的C#程序,一个可以拖动文件到窗体,另一个却拖不上去?

这是事件经过:https://ask.csdn.net/questions/698507

简单来说,我希望实现一个效果:把文件拖到程序的窗体,然后显示出该文件的路径。然而无论我怎么试,结果都是文件拖到窗体时就禁止拖动了。然后我发了上面的帖子求救,希望知道是代码问题,还是运行环境问题。后

来版主写了一个可以完美成功运行的程序给我,我拿回去仔细分析,新建了一个窗体程序,代码、插件、属性完全复制粘贴版主的,可是很奇怪,我这一模一样的程序居然运行不了。

这个时候基本可以确定,我之所以实现不了这样的效果,不是因为外部环境(比如什么权限问题),也不是因为主要的代码写错(至少不是Form1.cs、Progam.cs这两个文件的代码错误),而是因为一些该工程的内部原因的其他原因(net版本问题也可以排除,修改过了)。可至于到底是什么原因,我却一无所知

所以我把版主的原工程文件(工程名Q698507),和我新建一个工程然后完全复制粘贴版主的工程里的代码的文件(工程名m2),打包起来,放在下方,希望能分析一下原因~~

https://pan.baidu.com/s/1jVUkrFz31lBgMaLfNxPOEg

  • 写回答

3条回答

  • threenewbee 2018-08-27 02:48
    关注

    的确是事件和事件处理的代码关联起来。
    我看了下你的代码
    m2/m2/Form1.Designer.cs
    里面
    this.AllowDrop = true;
    this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    this.ClientSize = new System.Drawing.Size(800, 450);
    this.Controls.Add(this.label1);
    this.Name = "Form1";
    this.Text = "Form1";
    this.Load += new System.EventHandler(this.Form1_Load);
    this.DragDrop += Form1_DragDrop; //加上
    this.DragOver += Form1_DragOver; //加上
    this.ResumeLayout(false);
    this.PerformLayout();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择