2012-03-09 26 views
0

フォームには多くのボタンがあります。これらのボタンの1つに、TableAdapterManagerを更新するためのコードが含まれています。多くのTextBoxコントロールの1つにValidatingイベントハンドラにコードが含まれています。米国の電話番号が適切にフォーマットされていることを確認するコードがあります。e.Cancelが発生しますが、クリックイベントが発生すると他のコードも発生します

ユーザーがTextBoxからタブアウトすると、Validatingコードが完全に機能し、電話番号が正しくフォーマットされておらず、問題のTextBoxにフォーカスがある場合にメッセージが表示されます。

ユーザーが、TableAdapterManagerを更新するコードを持つボタンをクリックして、検証コードが発生しますが、問題のTextBoxにフォーカスが残るのではなく、ボタンクリックハンドラのコードも発生します。

ボタンコードの実行を停止したいと思います。ここで

は、テキストボックスのValidatingイベントのコードです:

Private Sub TextBoxPrimaryPhone_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBoxPrimaryPhone.Validating 

    ' Make sure the phone is formatted correctly. 
    '-------------------------------------------- 
    If PhoneFormat(TextBoxPrimaryPhone.Text) = "Fix Phone Number" Then 

     ' Alert the user. 
     '---------------- 
     MessageBox.Show("Please enter a 7 or 10 digit phone number.", _ 
         "Entry Error", _ 
         MessageBoxButtons.OK, _ 
         MessageBoxIcon.Error) 

     e.Cancel = True 
    Else 

     ' Format according to the length of the phone number entered by the user. 
     '------------------------------------------------------------------------ 
     TextBoxPrimaryPhone.Text = PhoneFormat(TextBoxPrimaryPhone.Text) 
    End If 
End Sub 

私はテキストボックスに遺骨を集中含める必要がどのような追加のコーディングに?

答えて

1

真e.Cancel =が呼び出された後に、この問題のテキストボックスのフォーカスを設定するために行うための:

TextBoxPrimaryPhone_Validating(sender, New System.ComponentModel.CancelEventArgs) 

    If Not TextBoxPrimaryPhone.Focused Then 

     'Do Work 

    End If 
+0

ありがとう:あなたがこれを行うことができ、ボタンのクリックイベントハンドラで

TextBoxPrimaryPhone.Focus() 

をNoAliasを助けてください。 –

関連する問題