© 牧山道人,转载请注明原文网址。
_____________________________________
在 View = Details 的 ListView 中,如果 ListView 已按某列排过序,则使用 ListView.FindItemWithText 有时会找出本已删除之 Item。
解决方法:
在 使用 FindItemWithText 之前重置一下 ListView 的当前排序:
lv.Sorting = SortOrder.None
该语句不影响界面显示,但可保证 FindItemWithText 正常工作。
此外,在批量添加 Items 前[……]
Read More…
© 牧山道人,转载请注明原文网址。
_____________________________________
当我们将某控件的 AllowDrop 属性设为 True 之后,即可在其 DragDrop 事件中对拖放动作进行编码。
但这里有个很重要的问题:
只是改变 AllowDrop 属性,用户将对象(文件、文件夹等)拖放进该控件时,鼠标指标仍然是禁止状态,用户只能认为该控件不支持拖放,而你实际上为拖放操作编写了代码。
此时,这段代码理论上有效,但实际上没作用。
怎么解决这个问题呢?很简单:
在该控件的 DragEnter 事件(拖进时)中编写以下代码即可:[……]
Read More…
© 牧山道人,转载请注明原文网址。
_____________________________________
今天解决了一个问题:Dictionary 泛型容器的 Key 重复,导致 Dictionary 转 SortedDictionary 时报错。
究其原因,是将 Single/float 数据类型作为自定义 Comparer 类型引起的。
原理不多讲,请看下面的例子:
Single/float 的 293830.001 与 293830 相等,甚至 293830.01 也等于 293830,但 830.001 与 830 却不相等,也就是说达到一定数量级后,.NE[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/dot-net-捕获-webbrowser-控件-击键事件-keypress-keydown-keyup
转载请注明出处,谢谢。
_____________________________________
有时,我们需要处理用户在设计模式的 WebBrowser 控件中的击键事件(比如用于判断 WebBrowser 内容是否发生变化),但遍寻所有 WebBrowser 支持的事件,没有发现 KeyPress/KeyDown/KeyUp 事件。
WebBrowser 其实就是一个 IE,其本身[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/vb-net-toolstripbutton-shortcuts-webbrowser-sc
转载请注明出处,谢谢。
_____________________________________
因为工具栏按钮(ToolStripButton)本身并不支持快捷键,即没有 ShortcutKeys 属性,所以需要单独编码实现。
如下图所示:
常用方式有两种,一是通过 Form 的 KeyDown/KeyUp 事件实现(需要将 Form 的 KeyPreview 属性设为 True)[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/如何解决-net-webbrowser-控件-ie9-浏览器不能编辑输入的问题
转载请注明出处,谢谢。
_____________________________________
假如 WebBrowser 控件名为 wb,则以下代码即可令 WebBrowser 在 IE9+ 浏览器下可编辑:
[cc lang=”vbnet”]
Private Sub wb_DocumentCompleted(ByVal sender As Object, _[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/net-如何对常用常量使用别名
转载请注明出处,谢谢。
_____________________________________
以 VB .NET 为例:
比如:每次需要写 MsgBoxStyle.Information 这样的字符串,若嫌 MsgBoxStyle 太长,可以使用别名(其实写起来不会慢,主要是占空间)。
用法:
Imports MBS = Microsoft.VisualBasic.MsgBoxStyle
则在对应模组中可以直接使用 MSB.Information 来代[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/visual-studio-中去掉-vmware-菜单的终极方法
转载请注明出处,谢谢。
_____________________________________
大家好,话说装了 VMWare 后,Visual Studio 菜单栏便出现了 VMWare 菜单。
据说,这会影响 VS 启动速度,但现在电脑很快,有多大影响本道倒不清楚,但作为处女座的人,肯定不会容许用不上的菜单一直挂在那里。
百度 Google Bing 了半天,老实说,真没人解决这个问题,不过他们提到的方法或许对你合用[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/vb-net-的-dateadd-函数存在严重问题-建议不再使用
转载请注明出处,谢谢。
_____________________________________
我们先来看 DateAdd 的函数原型
[cc lang=”vbnet”]
Public Function DateAdd(ByVal Interval As Microsoft.VisualBasic.DateInterval, _
ByVal Number As Double,[……]
Read More…
作者:牧山道人
原文地址:https://www.seeksunslowly.com/dot-net-如何知道某窗口是被哪个窗口打开的
转载请注明出处,谢谢。
_____________________________________
使用场景
比如有一个输入密码的公用窗口 FormA,可能会被多个窗口开启。
在 FormA 窗口中也许会有操作调用窗口的代码,此时就需要确定调用窗口是哪个。
实现方法
很简单,Form 类的 Show() 以及 ShowDialog() 均可包含一个参数,表示被开启窗口的所有者。
一般用法为:在需要开启 FormA 的窗口中写下 For[……]
Read More…