Пользователь поля со списком делает выбор, и значение valuechanged срабатывает и дает значение s (это нормально)
Я хочу запустить другое событие из другого поля со списком, когда значение в (1) изменяется (это работает для события щелчка, т.е. когда пользователь использует мышь для выбора значения из 1, все работает отлично).
Проблема, если пользователь использует клавиши со стрелками, чтобы изменить выбор с (1), тогда событие в (2) не срабатывает. мне нужно, чтобы он стрелял
Private Sub AgencyOriLookup_EditValueChanged(sender As Object, e As EventArgs) Handles AgencyOriLookup.EditValueChanged cbSelection.SelectedItem = " " CloseCustomRange() cbSelection.SelectedItem = "Last 3 Months" 'Using this to fire the 'selected value change event; 'however, it does not fire when using the arrow keys End Sub Private Sub cbSelection_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbSelection.SelectedValueChanged If AgencyOriLookup.Text = "" Then 'LabelControl4.Text = "Agency Not Selected" Exit Sub End If If cbSelection.SelectedItem <> "Custom Range" Then CloseCustomRange() End If strDateRangeDisplayed = String.Empty Select Case cbSelection.SelectedItem Case "This Month" deStartDate.EditValue = New DateTime(DateTime.Now.Year, DateTime.Now.Month, 1) deEndDate.EditValue = DateTime.Now.Date Case "Last Month" deStartDate.EditValue = New DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month, 1) deEndDate.EditValue = New DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddDays(-1) Case "Year To Date" deStartDate.EditValue = New DateTime(DateTime.Now.Year, 1, 1) deEndDate.EditValue = DateTime.Now.Date Case "Last 3 Months" Dim baseDate As Date = New Date(Now.Year, Now.Month, 1) Dim startDate As Date = baseDate.AddMonths(-2) deStartDate.EditValue = startDate deEndDate.EditValue = DateTime.Now.Date Case "Last Year" deStartDate.EditValue = New DateTime(DateTime.Now.Year - 1, 1, 1) deEndDate.EditValue = New DateTime(DateTime.Now.Year - 1, 12, 31) Case "1st Quarter-CurrentYear" deStartDate.EditValue = New DateTime(DateTime.Now.Year, 1, 1) deEndDate.EditValue = New DateTime(DateTime.Now.Year, 3, 31) Case "2nd Quarter-CurrentYear" deStartDate.EditValue = New DateTime(DateTime.Now.Year, 4, 1) deEndDate.EditValue = New DateTime(DateTime.Now.Year, 6, 30) Case "3rd Quarter-CurrentYear" deStartDate.EditValue = New DateTime(DateTime.Now.Year, 6, 1) deEndDate.EditValue = New DateTime(DateTime.Now.Year, 9, 30) Case "4th Quarter-CurrentYear" deStartDate.EditValue = New DateTime(DateTime.Now.Year, 10, 1) deEndDate.EditValue = New DateTime(DateTime.Now.Year, 12, 31) Case "1st Quarter-LastYear" deStartDate.EditValue = New DateTime(DateTime.Now.Year - 1, 1, 1) deEndDate.EditValue = New DateTime(DateTime.Now.Year - 1, 3, 31) Case "2nd Quarter-LastYear" deStartDate.EditValue = New DateTime(DateTime.Now.Year - 1, 4, 1) deEndDate.EditValue = New DateTime(DateTime.Now.Year - 1, 6, 30) Case "3rd Quarter-LastYear" deStartDate.EditValue = New DateTime(DateTime.Now.Year - 1, 7, 1) deEndDate.EditValue = New DateTime(DateTime.Now.Year - 1, 9, 30) Case "4th Quarter-LastYear" deStartDate.EditValue = New DateTime(DateTime.Now.Year - 1, 10, 1) deEndDate.EditValue = New DateTime(DateTime.Now.Year - 1, 12, 31) Case "Custom Range" lcidteEndDate.ContentVisible = True lcidteStartDate.ContentVisible = True lcibtnSearch.ContentVisible = True If _fromErrorsWarnings = False Then lcicboSelectCriteria.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always Else lcicboSelectCriteria.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never End If lciEndDateLabel.ContentVisible = True lciStartDateLabel.ContentVisible = True lcibtnSearch.ContentVisible = True End Select end sub
vb.net нужна помощь в стрельбе
Ответы (1)
Вместо запуска событий просто создайте Sub
и вызовите его при необходимости.
Что-то вроде этого (я не могу проверить ваш код, потому что он не завершен):
Private Sub AgencyOriLookup_EditValueChanged(sender As Object, e As EventArgs) Handles AgencyOriLookup.EditValueChanged
cbSelection.SelectedItem = "Last 3 Months"
Update()
End Sub
Private Sub cbSelection_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbSelection.SelectedValueChanged
Update()
End Sub
Private Sub Update()
If AgencyOriLookup.Text = "" Then
'LabelControl4.Text = "Agency Not Selected"
Exit Sub
End If
If cbSelection.SelectedItem <> "Custom Range" Then
CloseCustomRange()
End If
'
strDateRangeDisplayed = String.Empty
Select Case cbSelection.SelectedItem
Case "This Month"
deStartDate.EditValue = New DateTime(DateTime.Now.Year, DateTime.Now.Month, 1)
deEndDate.EditValue = DateTime.Now.Date
Case "Last Month"
deStartDate.EditValue = New DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month, 1)
deEndDate.EditValue = New DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddDays(-1)
Case "Year To Date"
deStartDate.EditValue = New DateTime(DateTime.Now.Year, 1, 1)
deEndDate.EditValue = DateTime.Now.Date
Case "Last 3 Months"
Dim baseDate As Date = New Date(Now.Year, Now.Month, 1)
Dim startDate As Date = baseDate.AddMonths(-2)
deStartDate.EditValue = startDate
deEndDate.EditValue = DateTime.Now.Date
Case "Last Year"
deStartDate.EditValue = New DateTime(DateTime.Now.Year - 1, 1, 1)
deEndDate.EditValue = New DateTime(DateTime.Now.Year - 1, 12, 31)
Case "1st Quarter-CurrentYear"
deStartDate.EditValue = New DateTime(DateTime.Now.Year, 1, 1)
deEndDate.EditValue = New DateTime(DateTime.Now.Year, 3, 31)
Case "2nd Quarter-CurrentYear"
deStartDate.EditValue = New DateTime(DateTime.Now.Year, 4, 1)
deEndDate.EditValue = New DateTime(DateTime.Now.Year, 6, 30)
Case "3rd Quarter-CurrentYear"
deStartDate.EditValue = New DateTime(DateTime.Now.Year, 6, 1)
deEndDate.EditValue = New DateTime(DateTime.Now.Year, 9, 30)
Case "4th Quarter-CurrentYear"
deStartDate.EditValue = New DateTime(DateTime.Now.Year, 10, 1)
deEndDate.EditValue = New DateTime(DateTime.Now.Year, 12, 31)
Case "1st Quarter-LastYear"
deStartDate.EditValue = New DateTime(DateTime.Now.Year - 1, 1, 1)
deEndDate.EditValue = New DateTime(DateTime.Now.Year - 1, 3, 31)
Case "2nd Quarter-LastYear"
deStartDate.EditValue = New DateTime(DateTime.Now.Year - 1, 4, 1)
deEndDate.EditValue = New DateTime(DateTime.Now.Year - 1, 6, 30)
Case "3rd Quarter-LastYear"
deStartDate.EditValue = New DateTime(DateTime.Now.Year - 1, 7, 1)
deEndDate.EditValue = New DateTime(DateTime.Now.Year - 1, 9, 30)
Case "4th Quarter-LastYear"
deStartDate.EditValue = New DateTime(DateTime.Now.Year - 1, 10, 1)
deEndDate.EditValue = New DateTime(DateTime.Now.Year - 1, 12, 31)
Case "Custom Range"
lcidteEndDate.ContentVisible = True
lcidteStartDate.ContentVisible = True
lcibtnSearch.ContentVisible = True
If _fromErrorsWarnings = False Then
lcicboSelectCriteria.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always
Else
lcicboSelectCriteria.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
End If
lciEndDateLabel.ContentVisible = True
lciStartDateLabel.ContentVisible = True
lcibtnSearch.ContentVisible = True
End Select
end sub
person
ZeroWorks
schedule
23.03.2021
спасибо, что сработало
- person Zachary Wheeler; 23.03.2021
@ZacharyWheeler Отлично! Просто отметьте как решение.
- person ZeroWorks; 24.03.2021