c#实现文件的拖放拖拽[解决不响应的问题]

如果在google上搜索 “c# 拖放文件”,可以搜索到很多答案,但是完全按照上面的方法去做又会发现程序没有响应。几乎所有的解答都会给出如下的答案:

 


private void Form1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) 
{ 
    if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
        e.Effect = DragDropEffects.Link; 
    else e.Effect = DragDropEffects.None; 
} 

private void Form1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) 
{ 
    //其中label1.Text显示的就是拖进文件的文件名; 
    label1.Text = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString(); 
}

 

同时,有部分答案还告知,要打开AllowDrop开关。 事实上这两步都没有错。但是这样做下来都还是无法响应。

 

还有一步这些答案都没有告知,那就是要把事件关联起来。进入Event列表。 Event列表在那呢,看见属性列表上的那个闪电标记了吧,那就是事件栏,点击它找到列表中的DragDrop和DragEnter两项,分别设置为Form1_DragDrop和Form1_DragEnter,也就是代码中的两个function. 然后保存就能够实现拖拽了。

kubuntu8.10使用3周记

3个礼拜前大约是2月15号, 我的kubuntu8.04率先崩溃了。还差2个月才满一年。 但是它在也不能动了。 我感觉是硬件的问题, 或者说是ubuntu那个会减少硬盘寿命的漏洞导致了这个问题。 在此之前的几个月里,硬盘经常锁死,并发出当当的声音。 鼠标能动但是点击没有任何的响应。重新启动后才会正常。 14日当天发生了多次这种情况。 我也觉得看样子支撑不了多久了。 果然礼拜天就彻底瘫痪了。

两周前, 经过再三的思考,我决定使用kubuntu8.10. 之前我一直很畏惧kde4的界面, 觉得完全无法控制,很不适应。但是考虑到新的内核, 更快的速度和即将快出的9.04。 我觉得现在可以用8.10来适应kde4。

但是在安装了8.1之后,我发现适应它真的是一个很艰苦的过程。 首先相对于3, kde4绝不仅仅是一个界面上的改动。而是操作理念的跨越。适应这个跨越花费了我相当多的时间。 最大的改进就是部件(widgets)系统. 这也是kde4与传统桌面不同之处。  kde4使用部件桌面取代了原有的文件桌面。 整个桌面变成了一个巨大的部件框。问题是现在的kde4部件资源不多。 显得缺乏应用。 但是随着开源社区的日益活跃和kde4逐渐完善。

Continue reading