Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在windows窗体应用程序C的组合框中填入时间间隔(小时:分钟)_C#_Visual Studio_Combobox - Fatal编程技术网

C# 在windows窗体应用程序C的组合框中填入时间间隔(小时:分钟)

C# 在windows窗体应用程序C的组合框中填入时间间隔(小时:分钟),c#,visual-studio,combobox,C#,Visual Studio,Combobox,你好,我的windows窗体应用程序C中有一个组合框 如何通过添加20分钟来填充从特定开始时间(例如12:00)到特定结束时间(例如14:00)的时间,如下图所示: 我假设你希望在第一个小时和最后一个小时有一定的灵活性,但你肯定你的休息时间总是20分钟 如果可以将时间表示为简单字符串,则可以使用两个嵌套循环: const int firstHour = 12; const int lastHour = 14; for (var hour = firstHour; hour < lastHo

你好,我的windows窗体应用程序C中有一个组合框

如何通过添加20分钟来填充从特定开始时间(例如12:00)到特定结束时间(例如14:00)的时间,如下图所示:


我假设你希望在第一个小时和最后一个小时有一定的灵活性,但你肯定你的休息时间总是20分钟

如果可以将时间表示为简单字符串,则可以使用两个嵌套循环:

const int firstHour = 12;
const int lastHour = 14;
for (var hour = firstHour; hour < lastHour; hour++)
{
    for (var minute = 0; minute <= 40; minute += 20)
    {
        comboBox.Items.Add($"{hour}:{minute:00}");
    }
}
comboBox.Items.Add($"{lastHour}:00");
如果希望将时间作为DateTime的实例,请使用以下循环:

const int firstHour = 12;
const int lastHour = 14;
var time = new DateTime(2000, 1, 1, firstHour, 0, 0); //or any other suitable year,month,day
while (time.Hour < lastHour)
{
    comboBox.Items.Add(time);
    time = time.AddMinutes(20);
}
comboBox.Items.Add(new DateTime(time.Year, time.Month, time.Day, lastHour, 0, 0));
comboBox.FormatString = "HH:mm"; //to prevent the date from being displayed

我将firstHour和lastHour定义为常量以保持示例的简单性,您可以将它们转换为变量、方法的参数或对您更有用的任何内容。

以下是使用简单while循环的一种方法:

var item = DateTime.Today.AddHours(14); // 14:00:00
while(item <= DateTime.Today.AddHours(16)) // 16:00:00
{
    cmb.Items.Add(item.TimeOfDay.ToString(@"hh\:mm"));
    item = item.AddMinutes(20);
}

问题出在哪里?WPF还是Windows窗体?。。。你试过什么吗?我不知道如何填充它。你需要创建一个包含你的时间的数据源,并将它们绑定到下拉列表中。兄弟,有没有办法也这样填充它,12:00,13:00,14:00。。。16:00当然,只需使用AddHours1而不是AddMinutes20。