C# - 在字典中保存从 monthCalendar 中选择的日期

C# - saving selected date from monthCalendar in dictionary

我正在用 C# 制作日历。为此,我使用 MonthCalendar(windows 表格)。 我想 select 日历上的日期并向该日期添加一些文本(如约会)。然后我想将日期和文本保存在字典中。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

namespace agenda
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
    {

        //Selected only 1 date
        monthCalendar1.MaxSelectionCount = 1;
    }

    private void monthCalendar1_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e)
    {
        var geselecteerdeDatum = monthCalendar1.SelectionRange.Start.ToString(); 

    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
        Dictionary<DateTime, string> dictionary = new Dictionary<DateTime, string>();
        dictionary.Add(geselecteerdeDatum, textBox1.Text);

        //show what is in the dictionary / print it in the console
        Console.WriteLine(geselecteerdeDatum);
        foreach (KeyValuePair<DateTime, string> kvp in dictionary)
        {
            Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
        }
    }

    public DateTime geselecteerdeDatum{ get; set; }
}

}

该表单包含一个 MonthCalendar、一个按钮和一个文本字段。 当我 运行 这样做时,我可以将一些文本保存到字典中。但是 MonthCalendar 中的日期不会正确保存到字典中。 每次看起来像这样:

  Key = 1-1-0001 00:00:00, Value = message

有人知道我怎样才能在字典中找到select编年日期吗?

改变dictionary.Add(geselecteerdeDatum, textBox1.Text);dictionary.Add(monthCalendar1.SelectionStart, textBox1.Text);

并且无需多次设置MaxSelectionCount(您可以在表单设计器中设置)。

var geselecteerdeDatum 创建一个与您的 DateTime geselecteerdeDatum

无关的新字符串变量(本地)