我有一系列以实用方式添加的成对文本字段,一个名为0_1,另一个名为0_1w。当事件发生(按键)到0_1时,我想要0_1w的东西,0_2,0_3等等...
是否可以抓住按键事件的发送者并将字母w附加到其末尾,或者是否有任何简单的方法可以在其他文本字段中使用w文本字段执行我需要的操作。 / p>
由于
答案 0 :(得分:1)
每个控件都有Name
属性,因此如果您将发件人强制转换为Control
,您将能够获取该名称字符串。然后,您可以向其添加“w”并查找具有该名称的另一个控件。您可以使用表单上的Controls
集合按名称查找控件。
Dim senderName As String = DirectCast(sender, Control).Name
Dim pairedName As String = senderName & "w"
Dim paired As Control = Me.Controls(pairedName)
但是,表单的Controls
集合仅包含直接添加到其中的控件。如果发件人位于容器控件(例如Panel
)内,则只有该面板控件将包含在表单的Controls
集合中。在这种情况下,您需要查看面板的Controls
集合。因此,由于两个配对控件可能位于同一个容器控件中,因此更安全:
Dim paired As Control = DirectCast(sender, Control).Parent.Controls(pairedName)