在DateTime

时间:2016-07-22 12:38:58

标签: c# combobox dropdown

我在dropdown框内格式化文字时出现问题。我目前正在time format生成带有AM / PM的字段。我有两个dropdown,一个用于小时,一个用于分钟。我可以将AM / PM添加到小时栏,但我无法移动那个" AM / PM"在分钟栏后显示。我不想使用一个下拉列表来显示所有时间选项。

最终目标是让用户从HoursMinutes列中选择时间,当他们点击最右侧的按钮时,会将一些文字放入剪贴板。

Dropdown Example

  var hours = Enumerable.Range(00, 24).Select(i => (DateTime.MinValue.AddHours(i)).ToString("hhtt"));
        foreach (var h in hours)
        {
            combo_fromhoursMonday.Items.Add(h);
            combo_fromhoursTuesday.Items.Add(h);
            combo_fromhoursWednesday.Items.Add(h);
            combo_fromhoursThursday.Items.Add(h);
            combo_fromhoursFriday.Items.Add(h);
            combo_fromhoursSaturday.Items.Add(h);
            combo_fromhoursSunday.Items.Add(h);
        }
        var minutes = Enumerable.Range(00, 4).Select(i => (DateTime.MinValue.AddMinutes(i * 15)).ToString("mm"));
        foreach (var m in minutes)
        {
            combo_fromminutesMonday.Items.Add(m);
            combo_fromminutesTuesday.Items.Add(m);
            combo_fromminutesWednesday.Items.Add(m);
            combo_fromminutesThursday.Items.Add(m);
            combo_fromminutesFriday.Items.Add(m);
            combo_fromminutesSaturday.Items.Add(m);
            combo_fromminutesSunday.Items.Add(m);
        }

编辑:如果我从小时栏中选择03PM,从分钟栏中选择00,则点击我左边的星期一按钮,并在剪贴板上显示以下文字。

选择时间:下午3点至下午4点

选定的下拉列表示例:enter image description here

我需要将该PM文本移动到分钟列的末尾。

以下是buttonclick事件的代码

        private void buttonMonday_Click(object sender, EventArgs e)
    {
        Clipboard.SetText("On-call " + combo_fromhoursMonday.SelectedItem.ToString() + combo_fromminutesMonday.SelectedItem.ToString() + " to " 
            + combo_tohoursMonday.SelectedItem.ToString() + combo_tominutesMonday.SelectedItem.ToString());
    }

1 个答案:

答案 0 :(得分:0)

我为AM / PM列添加了第三个“下拉列表”。