vb.net - 在 VB.Net 中完成简单任务的更好方法
问题描述
所以,我有一个学校的小测试,我需要禁用三个单选按钮,这些单选按钮在面板中尽可能少的代码,而两个文本框的内容是空的。一旦两个文本框都填满,我就启用面板。
下面的解决方案显然适用于一个文本框,但是两个文本框会发生什么?我知道我可以覆盖每个按钮 KeyPress 并同时检查两个文本框。但我想花哨。问题是我认为我无法像这样解决这个问题。
或者是吗?
Public Class Form1
Public Sub vacios(sender As Object, e As System.Windows.Forms.KeyPressEventArgs)
Panel1.Enabled = (sender.Text <> "")
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
AddHandler txtNombre.KeyPress, AddressOf vacios
AddHandler txtApellido.KeyPress, AddressOf vacios
End Sub
End Class
注意-我知道我可以做到但我想变得花哨。
Public Class Form1
Private Sub txtNombre_TextChanged(sender As Object, e As EventArgs) Handles txtNombre.TextChanged
Panel1.Enabled = (txtNombre.Text <> "" And txtApellido.Text <> "")
End Sub
Private Sub txtApellido_TextChanged(sender As Object, e As EventArgs) Handles txtApellido.TextChanged
Panel1.Enabled = (txtNombre.Text <> "" And txtApellido.Text <> "")
End Sub
End Class
解决方案
在 VB 中,您可以通过在末尾添加“Handles Object1.Event,Object2.Event ...”来为同一个 sub 设置多个句柄。
这是我在这种情况下会做的一个例子
Public Class Form1
Private Sub panel1TextBoxes_TextChanged(sender As Object, e As EventArgs) Handles txtApellido.TextChanged,txtNombre.TextChanged
Panel1.Enabled = (txtNombre.Text <> String.Empty And txtApellido.Text <> String.Empty)
End Sub
End Class
推荐阅读
- ios - 相机选项更改
- c++ - 添加 IEEE-754 格式的正数和负数
- pdf - 如何使用 Google 的 Vision API 将 PDF(不可搜索)转换为可搜索的 PDF?
- python - 使用 Beautiful Soup 在 Python 中解析网站
- html - 如何使用或
显示视频字幕
- c++ - 字符 5:错误:控制可能到达非 void 函数的结尾
- c++ - 使用递归查找数组中的最大值
- image-processing - Python 和 ffmpeg 创建不同的 tiff 堆栈
- python - 构建一个多类文本分类器,它将 word2vec 生成的向量作为自变量来预测一个类
- jupyter - NodeJs 和 Google Colab