Windows Form应用中TextBox类Text属性非空判断不生效如何解决
原有代码问题说明
你编写的判断逻辑存在校验目标偏差:你判断的是usernamePassword这个TextBox控件实例本身是否为null,而WinForm窗体初始化完成后,正常声明的控件实例默认就不会为null,所以这个条件永远为真,自然无法实现输入内容校验的需求。
正确实现方案
你需要校验的是TextBox的Text属性值是否为空,根据实际场景可以选择两种判断方案:
- 仅排除null和空字符串的场景
用string.IsNullOrEmpty()方法判断,代码示例:// 当Text属性不为null也不是空字符串时执行逻辑 if (!string.IsNullOrEmpty(usernamePassword.Text)) { // 你的业务逻辑 } - 需要额外排除全空格、制表符等空白输入的场景(绝大多数输入校验场景推荐使用)
用string.IsNullOrWhiteSpace()方法判断,代码示例:// 当Text属性不为null、不是空字符串、也不全是空白字符时执行逻辑 if (!string.IsNullOrWhiteSpace(usernamePassword.Text)) { // 你的业务逻辑 }
内容的提问来源于stack exchange,提问作者Marshall
相关产品推荐
相关产品推荐

