2011-11-25 100 views
2

我有一个包含七个文本框的表单,全部描述了二手车的不同属性。在我的文本框共享的LostFocus事件中,我需要一个case语句来确定失去焦点的特定TextBox。然后我需要执行不同的各种任务,但我不认为他们对我的问题很重要。打开共享LostFocus事件处理程序的发件人

如何判断哪个文本框在共享的LostFocus事件处理程序中失去焦点?

Select Case ________??? 

回答

1

你可以做两件事之一。

首先是对名称

Dim tb as TextBox = CType(sender,TextBox) 

Select Case tb.Name 
    Case "TextBox1" 

选择第二个是我喜欢做的,它是使用文本框的Tag属性,并把它的唯一编号。所以在这种情况下,你的Select语句看起来像。

Dim tb as TextBox = CType(sender,Textbox) 

Select Case CInt(tb.tag) 
    Case 1 

    Case 2 
    .... 

你提到的另一件事是如何确定哪个TextBox失去了焦点。除了您正在处理的离开事件之外,还有一个LostFocus事件可以处理。

+0

欣赏它,谢谢。我们的任务很清楚,我们必须在_Leave事件中执行此操作: 共享文本框离开 创建一个共享事件过程,当用户选中或单击不在控件上时验证所有文本框(离开事件) o声明一个通用的文本框,它将表示触发事件的文本框 o使用case语句来确定哪个文本框丢失了焦点 –

+0

@PhillCookie好吧,我只是通过最后一个作为参考。选择陈述应该适合你。发件人对象将成为刚刚失去焦点的文本框。 –

+0

真的很感激你花时间来解释....非常感谢您的帮助。 –

2

那将是Select Case DirectCast(sender, TextBox)

相关问题