vb.net - 引用多个控件的最有效方法。 IE : the multi-WITH

标签 vb.net forms basic shortcut

我环顾四周,似乎找不到一种简单的方法来引用 IF 语句等内容中的多个控件,或者为多个控件设置属性等。(IF 存在 = true!)

“快捷方式”(如果您愿意的话);最好用非法代码来描述,例如:

Public Sub BreakCompiler()

  if string.IsNullOrEmpty(Textbox1.text, textbox2.text, textbox3.text) Then .....


  'As opposed to 
    If String.IsNullOrEmpty(PartNumTextBox.Text) Or _
    String.IsNullOrEmpty(PartNameTextBox.Text) Or _
    String.IsNullOrEmpty(PartGRNTextBox.Text) Or_
    String.IsNullOrEmpty(SerialNumTextBox.Text) Then
        'Warn user
    Else
        'do nofin.
    End If

或者更奇怪:

WITH Textbox1.text, textbox2.text, textbox3.text
    .ReadOnly = true
END WITH
End sub

这个想法是为了防止运行 3 个 if 语句,或者其他什么,基本上对 3 个不同的对象做同样的事情......等等......等等。类似于可以用 ' 分隔的多个事件的处理程序,'。

我知道循环遍历控件(例如 groupbox.controls 中的每个控件的 IE),但这并不能完全实现我在这里所追求的目标。 (假设您想跳过几个?)

只是想检查一下集体智慧。

最佳答案

据我所知,if 语句中没有任何类似于控件属性处理程序的内容。

您要么必须单独执行它们(或将它们全部添加到一个数组中),要么如您所提到的,遍历另一个控件中的子集。

但是,您可以做的一件事(假设您只想更改某种类型的控件)是:

For Each tb As TextBox In Me.Controls.OfType(Of TextBox)
    'do stuff here
Next

另一个选择是创建一个 Sub 来为您进行更改,然后将每个更改传递到 Sub 中。

Private Sub changeTextBox(tBox as TextBox)
    'make changes here
End Sub

关于vb.net - 引用多个控件的最有效方法。 IE : the multi-WITH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37859072/

相关文章:

basic - 如何在 6502 basic 中等待 x 秒

basic - Visual Basic Windows 窗体 - 使用/按钮运行 Python 脚本

vb.net - VB .NET 中是否有 splat 运算符?

c# - Newtonsoft.JSON Mono Float反序列化异常

c# - System.Data.Datarow C# 错误

vb.net - .NET本地化: Japanese Characters Display as Squares

html - 更改提交按钮占位符不起作用?

javascript - 下拉未定义的 javascript 表单验证错误

javascript - Google Analytics - 使用 GET 而不是 POST

basic - 如何随时退出gw basic程序?