使用Cursor.Current = Cursors.WaitCursor触发BC42025警告,求替代方案
解决BC42025警告的替代方案
警告原因
BC42025警告的核心问题是:你通过实例对象访问了共享(Shared)成员、常量、枚举成员或嵌套类型,编译器会直接忽略实例限定表达式,直接访问共享成员,这种写法不符合代码规范。
在你的场景中,Cursors.WaitCursor是Cursors类的共享属性,若代码里通过某个Cursor实例(比如误写为Cursor.Current.WaitCursor这类形式)访问它,就会触发该警告。
正确替代写法
直接通过Cursors类名访问WaitCursor共享属性,赋值给Cursor.Current即可,这种写法符合规范,不会触发警告:
Cursor.Current = Cursors.WaitCursor
如果你的代码中确实存在通过实例访问共享成员的情况(比如someCursorInstance.WaitCursor),替换为类名直接访问即可:
' 错误写法(触发警告) Cursor.Current = someCursorInstance.WaitCursor ' 正确写法 Cursor.Current = Cursors.WaitCursor
额外注意事项
- 执行完耗时操作后,记得将光标恢复为默认状态,避免一直显示等待光标:
Try Cursor.Current = Cursors.WaitCursor ' 执行你的耗时操作 Finally Cursor.Current = Cursors.Default End Try
内容的提问来源于stack exchange,提问作者Heitor Badotti
相关产品推荐
相关产品推荐

