2016-12-28 2 views
0

У меня есть два поля со списком, одно с датой начала, а другое - дата окончания. Я хочу сделать if(combobox1 > combobox2) проверить, если дата начала больше даты окончания MessageBox.Show («Вы выбрали отличную дату окончания финала»);Сравнение значений 2 combo-boxes

Как это можно сделать?

ответ

0

Просто доступ как значения ваших ComboBoxes, а затем вы можете использовать DateTime.Compare метод: https://msdn.microsoft.com/en-us/library/system.datetime.compare(v=vs.110).aspx

+0

Даты стары и были взяты из базы данных структурированных в год/месяц/день –

+0

Затем вы можете использовать DateTime.ParseExact, чтобы отформатировать его так, как вы хотите – MacakM

0

просто:

DateTime d1 = Convert.ToDateTime(ComboBox1.SelectedValue.toString()); 
DateTime d2 = Convert.ToDateTime(ComboBox2.SelectedValue.toString()); 
if(d1 > d2) 
{ 
    MessageBox.Show("Some message"); 
} 
+0

CS1061 C# 'object' не содержит определения для 'toString' и не может быть найден метод расширения 'toString', принимающий первый аргумент типа 'object' (вам не хватает директивы using или ссылки на сборку?) –

+0

Можете ли вы мне помочь? –

+0

Добавьте 'using System.String' поверх вашего файла класса @ B.Pizhev – ViVi

0

Это может решить проблему

var StartDate = comboBoxDate1.Text; 
var EndDate = comboBoxDate2.Text; 
var eDate = Convert.ToDateTime(EndDate); 
var sDate = Convert.ToDateTime(StartDate); 
if(StartDate != "" && StartDate != "" && sDate > eDate) 
{ 
    Console.WriteLine("Please ensure that the End Date is greater than the Start Date."); 
} 
+0

Оператор> не может применяться к операндам типа« Дата »и« Дата »? –

0

Это зависит от того, что у вас есть под ComboBoxes.

Если у вас есть только тексты:

var dateFrom = Convert.ToDateTime(ComboBox1.Text); 
var dateTo = Convert.ToDateTime(ComboBox2.Text); 


if(dateFrom > dateTo) 
{ 
    // your code 
} 

Если вы связали объекты, где ValueMember имеет тип DateTime

var dateFrom = (DateTime)ComboBox1.SelectedValue; 
var dateTo = (DateTime)ComboBox2.SelectedValue; 


if(dateFrom > dateTo) 
{ 
    // your code 
} 
0
DateTime date1 = Convert.ToDateTime(comboBox1.Text); 
DateTime date2 = Convert.ToDateTime(comboBox2.Text); 
if(date1>date2) 
{ 
MessageBox.Show("You have chosen a great starting date of the final"); 
}