作者:牧山道人
原文地址:https://www.seeksunslowly.com/dot-net-如何知道某窗口是被哪个窗口打开的
转载请注明出处,谢谢。
_____________________________________
使用场景
比如有一个输入密码的公用窗口 FormA,可能会被多个窗口开启。
在 FormA 窗口中也许会有操作调用窗口的代码,此时就需要确定调用窗口是哪个。
实现方法
很简单,Form 类的 Show() 以及 ShowDialog() 均可包含一个参数,表示被开启窗口的所有者。
一般用法为:在需要开启 FormA 的窗口中写下 For[……]
Read More…
作者:牧山道人 原文地址:https://www.seeksunslowly.com/vb-net-api-函数或外部-dll-函数工作异常的处理方式之一 转载请注明出处,谢谢。 _____________________________________ 有时,我们会发现在 VB6 中工作正常的 API 函数或外部 DLL 函数在 VB .NET 中工作异常。 笔者昨天也碰到到这样的问题,后来经过调试,发现原因是 VB6 中的 Long 数据类型在 VB .NET 中应声明为 Integer(事实上其表示的范围是等价的)。 比如,以下 VB6 使用的 A[……]
Read More…
作者:牧山道人 原文地址:https://www.seeksunslowly.com/vb-net-如何使用通配符批量删除文件 转载请注明出处,谢谢。 _____________________________________ 在编程工作中,使用通配符批量删除文件的需求随处可见。 对 .NET 来说,实现起来非常简单,不需要遍历目录即可实现。 使用 Kill 方法即可完成! 代码示例: Microsoft.VisualBasic.FileSystem.Kill("E:\test\*.jpg") 对于 C#,同样可使用 Kill 实现,不过请[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/dot-net-vb6-listview-scroll-row-sc
转载请注明出处,谢谢。
_____________________________________
有时,我们需要在 View 属性为 Details(VB6 为 3 – lvwReport) 的 ListView 中让某行(Item)位于可视位置,比如——显示用户的查找结果,如果记录太多,你不将结果滚动至可视位置,查找功能基本形同虚设。
这是个看起来非常复杂的问题,初次接触此需求时感觉要动用 API 才行。
但,所[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/dot-net-get-folder-size-sc
转载请注明出处,谢谢。
_____________________________________
.NET 自带程序集(本道使用 .NET 3.5)没有提供直接获取文件夹/目录大小的功能。
若用原生 .NET 程序集,需要遍历某目录及其所有子目录下所有文件才能获得该目录大小,效率低下且编码繁琐。
如果您之前搞过 VB6 编程,应该知道 Windows 各版本均自带了一个 COM 组件——Windows Script Host Obje[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/operation-excel-xlsx-slowlw-sc
转载请注明出处,谢谢。
_____________________________________
最近,在 .NET 中尝试从 Excel 导入数据到 Detail 样式的 ListView 中,记录数在 3,000 左右,发现导入非常缓慢(将近 10 分钟),别说用户不能忍受,自己都无法接受,但这是必需的功能,不能去掉,所以必须想办法解决。
其中,读取 Excel 文档数据的方式为:逐行逐单元格读取,关键代码如下:
[c[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/dot-net-listview-flicker-resolve-sc
转载请注明出处,谢谢。
_____________________________________
在对 ListView 数据(Items)作高频率的添加、删除、修改操作时,ListView 会出现闪烁。
这使软件显得很不专业,自己看着也眼花,所以,这是必须解决的难题。
尝试了 ListView 类的 BeginUpdate、EndUpdate、SuspendLayout、ResumeLayout、Refresh[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/vb2008-dot-net-read-xml-data-by-element-field-node-name-sc
转载请注明出处,谢谢。
_____________________________________
今天第一次需要在 .NET 中读取 XML 文件内容,通过文件格式观想,感觉应可以直接指定元素(其实也就是字段、节点)名称直接取出,像读取 ini 配置文件一样方便。
但通过搜索 MSDN 示例及网上的资料,发现各位大仙给的方法十分复杂,好多人都去递归遍历了所有节点,再根据[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/vb2008-coding-suggestion-sc-1
转载请注明出处,谢谢。
_____________________________________
建议:尽量使用 .NET 类,而避免使用 Microsoft.VisualBasic 命名空间其子空间中的类。
理由:尽管 Microsoft.VisualBasic 命名空间下的类也属 .NET 类库,但它毕竟是为了与 VB6- 兼容而产生的,为最大限度地 .NET 化及适应以后平台发展考虑,应尽量避免。
举例:Len(str)[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/do-not-application-compatible-deployment-sc
转载请注明出处,谢谢。
_____________________________________
您一定希望辛辛苦苦开发的软件能被更多人使用吧!但 .NET 运行环境有好几个版本,如 1.0、1.1、2.0、3.0、3.5、4.0,如何让你的同一份代码、同一份安装包能兼容于这么多 .NET 版本并部署于其上呢?以下是笔者经过研究与实践总结出的可行方案,希望对您有帮助:
首先确定您打算支持的最低 .N[……]
Read More…