.NET 如何知道某窗口是被哪个窗口打开的?

Posted by NosaLee in .NET Programming on 27-08-2012. Tags: , , , , , , , ,

作者:牧山道人
原文地址:http://www.seeksunslowly.com/dot-net-如何知道某窗口是被哪个窗口打开的
转载请注明出处,谢谢。
_____________________________________

使用场景
比如有一个输入密码的公用窗口 FormA,可能会被多个窗口开启。
在 FormA 窗口中也许会有操作调用窗口的代码,此时就需要确定调用窗口是哪个。

实现方法
很简单,Form 类的 Show() 以及 ShowDialog() 均可包含一个参数,表示被开启窗口的所有者。
一般用法为:在需要开启 FormA 的窗口中写下 Form[……]

Read More…

[……]

Read More…

VB .NET API 函数或外部 DLL 函数工作异常的处理方式之一

Posted by NosaLee in .NET Programming on 27-07-2012. Tags: , , , , , , , ,

作者:牧山道人 原文地址:http://www.seeksunslowly.com/vb-net-api-函数或外部-dll-函数工作异常的处理方式之一 转载请注明出处,谢谢。 _____________________________________   有时,我们会发现在 VB6 中工作正常的 API 函数或外部 DLL 函数在 VB .NET 中工作异常。 笔者昨天也碰到到这样的问题,后来经过调试,发现原因是 VB6 中的 Long 数据类型在 VB .NET 中应声明为 Integer(事实上其表示的范围是等价的)。 比如,以下 VB6 使用的 AP[……]

Read More…

VB .NET 如何使用通配符批量删除文件

Posted by NosaLee in .NET Programming on 27-07-2012. Tags: , , , , , , , ,

作者:牧山道人 原文地址:http://www.seeksunslowly.com/vb-net-如何使用通配符批量删除文件 转载请注明出处,谢谢。 _____________________________________ 在编程工作中,使用通配符批量删除文件的需求随处可见。 对 .NET 来说,实现起来非常简单,不需要遍历目录即可实现。 使用 Kill 方法即可完成! 代码示例: Microsoft.VisualBasic.FileSystem.Kill("E:\test\*.jpg") 对于 C#,同样可使用 Kill 实现,不过请注[……]

Read More…

如何在 .NET 及 VB6 的 ListView 控件中滚动指定行至可视位置

Posted by NosaLee in .NET Programming, VB6 Programming on 25-04-2012. Tags: ,

作者:牧山道人
原文地址:http://www.seeksunslowly.com/dot-net-vb6-listview-scroll-row-sc
转载请注明出处,谢谢。
_____________________________________

有时,我们需要在 View 属性为 Details(VB6 为 3 – lvwReport) 的 ListView 中让某行(Item)位于可视位置,比如——显示用户的查找结果,如果记录太多,你不将结果滚动至可视位置,查找功能基本形同虚设。

这是个看起来非常复杂的问题,初次接触此需求时感觉要动用 API 才行。

但,所幸[……]

Read More…

.NET 中如何得到文件夹大小

Posted by NosaLee in .NET Programming, Common Programming on 24-04-2012. Tags: ,

作者:牧山道人
原文地址:http://www.seeksunslowly.com/dot-net-get-folder-size-sc
转载请注明出处,谢谢。
_____________________________________

.NET 自带程序集(本道使用 .NET 3.5)没有提供直接获取文件夹/目录大小的功能。
若用原生 .NET 程序集,需要遍历某目录及其所有子目录下所有文件才能获得该目录大小,效率低下且编码繁琐。

如果您之前搞过 VB6 编程,应该知道 Windows 各版本均自带了一个 COM 组件——Windows Script Host Objec[……]

Read More…

解决 C#、Java、VB、Delphi、VC 等语言中读写 Excel 文件太慢的问题

Posted by NosaLee in .NET Programming, Common Programming on 08-04-2012. Tags:

作者:牧山道人
原文地址:http://www.seeksunslowly.com/operation-excel-xlsx-slowlw-sc
转载请注明出处,谢谢。
_____________________________________

最近,在 .NET 中尝试从 Excel 导入数据到 Detail 样式的 ListView 中,记录数在 3,000 左右,发现导入非常缓慢(将近 10 分钟),别说用户不能忍受,自己都无法接受,但这是必需的功能,不能去掉,所以必须想办法解决。

其中,读取 Excel 文档数据的方式为:逐行逐单元格读取,关键代码如下:

[cc[……]

Read More…

.NET ListView 闪烁问题的完美解决方法

Posted by NosaLee in .NET Programming on 06-04-2012. Tags:

作者:牧山道人
原文地址:http://www.seeksunslowly.com/dot-net-listview-flicker-resolve-sc
转载请注明出处,谢谢。
_____________________________________

在对 ListView 数据(Items)作高频率的添加、删除、修改操作时,ListView 会出现闪烁。
这使软件显得很不专业,自己看着也眼花,所以,这是必须解决的难题。

尝试了 ListView 类的 BeginUpdate、EndUpdate、SuspendLayout、ResumeLayout、Refresh[……]

Read More…

.NET 读取 xml 文件中指定元素/字段/节点数据的简单方法

Posted by NosaLee in .NET Programming, Web Programming & Resources on 29-09-2011. Tags:

作者:牧山道人
原文地址:http://www.seeksunslowly.com/vb2008-dot-net-read-xml-data-by-element-field-node-name-sc
转载请注明出处,谢谢。
_____________________________________

今天第一次需要在 .NET 中读取 XML 文件内容,通过文件格式观想,感觉应可以直接指定元素(其实也就是字段、节点)名称直接取出,像读取 ini 配置文件一样方便。

但通过搜索 MSDN 示例及网上的资料,发现各位大仙给的方法十分复杂,好多人都去递归遍历了所有节点,再根据节[……]

Read More…

VB2008 编码建议之一

Posted by NosaLee in .NET Programming on 18-08-2011. Tags:

作者:牧山道人
原文地址:http://www.seeksunslowly.com/vb2008-coding-suggestion-sc-1
转载请注明出处,谢谢。
_____________________________________

建议:尽量使用 .NET 类,而避免使用 Microsoft.VisualBasic 命名空间其子空间中的类。
理由:尽管 Microsoft.VisualBasic 命名空间下的类也属 .NET 类库,但它毕竟是为了与 VB6- 兼容而产生的,为最大限度地 .NET 化及适应以后平台发展考虑,应尽量避免。
举例:Len(str) 可[……]

Read More…

非常重要的经验: 如何使同一份代码能兼容各版 .NET,同一份安装包能部署到不同 .NET 环境?

Posted by NosaLee in .NET Programming on 17-08-2011. Tags:

作者:牧山道人
原文地址:http://www.seeksunslowly.com/do-not-application-compatible-deployment-sc
转载请注明出处,谢谢。
_____________________________________

您一定希望辛辛苦苦开发的软件能被更多人使用吧!但 .NET 运行环境有好几个版本,如 1.0、1.1、2.0、3.0、3.5、4.0,如何让你的同一份代码、同一份安装包能兼容于这么多 .NET 版本并部署于其上呢?以下是笔者经过研究与实践总结出的可行方案,希望对您有帮助:

首先确定您打算支持的最低 .NE[……]

Read More…