2010-03-10 280 views
1

海, 我正在使用vb.net,其中我有一個日期時間選擇器。當我更改日期時,我需要收到一條消息。 我已經做了TextChanged事件,但是當我點擊日期時間選擇器的選擇按鈕時,消息要求兩次。 我怎麼能過來這個。 我在文字編寫的代碼改變事件如下:日期時間選擇器

Private Sub dtpUptoFrom_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dtpUptoFrom.TextChanged 
     If bolDateChanged = True Then 
      If objClsMsg.Show(Global.Components.clsMessagebox.errorTypes.userMsg, "This operation will reset the item details. Do you want to continue?", "", Global.Components.clsMessagebox.Buttons.YesNo, Global.Components.clsMessagebox.Icons.Question) = Global.Components.clsMessagebox.DialogResult.Yes Then 
       If lngGateInId > 0 Then 
        Fill_ItemNames(lngGateInId) 
       End If 
      Else 
       bolDateChanged = False 
       dtpUptoFrom.Text = objClscom.GetServerDateTime 
       ''cmbUptoBetween.SelectedIndex = 0 
       bolDateChanged = True 

      End If 
     Else 
      If enmOperation = Operations.Insert Then 
       If lngGateInId > 0 Then 
        Fill_ItemNames(lngGateInId) 
       End If 
      End If 
     End If 
     End Sub 

我怎樣才能解決這個問題?

回答

2

你的子dtpUptoFrom_TextChanged,它處理TextChanged事件,改變了dtpUptoFrom.Text財產,這反過來又觸發另一個TextChanged事件。

您應該考慮使用ValueChanged事件而不是TextChanged事件,和/或使用驗證模型。