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条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog