Laden...

Forenbeiträge von BigBalls Ingesamt 1 Beiträge

12.04.2012 - 14:25 Uhr

Hey!

Fast schon ein Jahr her, aber ich versuche dennoch mein Glück 😉
Ich habe mir die DLL runtergeladen und in mein Projekt eingebunden (Visual Studio 2010).
Jetzt habe ich das Problem, dass wenn ich auf einen Kalendertag klicke das DateSelectionChanged-Event das richtige Datum zurückliefert, im Kalender aber immer der Vortag markiert wird (z.B. ich klicke auf den 10.04., dann wird der 09.04. markiert). Auch in der Funktion myCalendar_DoubleClick steht in myCalendar.SelectedDate der korrekte Wert, aber eingetragen wird der Termin dennoch am Vortag. 🤔

Ich habe eine Form mit einem horizontalen SplitContainer 'scHorizontal', im unteren Panel (Panel2) zwei Buttons (btnCalMonthBack und btnCalNextMonth) und zwei Labels (lblYear und lblSelectedDate).
Hier mein Code:


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

namespace RunningDiaryV2
{
    public partial class frmCalendar : Form
    {

        private CalendarControl.Calendar myCalendar;

        public frmCalendar()
        {
            InitializeComponent();
        }

        private void frmCalendar_Load(object sender, EventArgs e)
        {
            myCalendar = new CalendarControl.Calendar();
            myCalendar.Dock = DockStyle.Fill;
            myCalendar.StartDate = DateTime.Now.AddDays(-DateTime.Now.Day);
            lblYear.Text = myCalendar.StartDate.Year.ToString();
            scHorizontal.Panel1.Controls.Add(myCalendar);
            this.myCalendar.DateSelectionChanged += new CalendarControl.Calendar.DateSelectionEventHandler(this.myCalendar_DateSelectionChanged);
            this.myCalendar.MouseDoubleClick += new  MouseEventHandler(this.myCalendar_DoubleClick);
        }

        private void btnCalNextMonth_Click(object sender, EventArgs e)
        {
            myCalendar.StartDate = myCalendar.StartDate.AddMonths(1);
            lblYear.Text = myCalendar.StartDate.Year.ToString();
        }

        private void btnCalMonthBack_Click(object sender, EventArgs e)
        {
            myCalendar.StartDate = myCalendar.StartDate.AddMonths(-1);
            lblYear.Text = myCalendar.StartDate.Year.ToString();
        }

        private void myCalendar_DateSelectionChanged(DateTime selDateTime)
        {
            lblSelectedDate.Text = selDateTime.ToString();            
        }

        private void myCalendar_DoubleClick(object sender, MouseEventArgs e)
        {
            CalendarControl.CalendarItem newItem = new CalendarControl.CalendarItem(myCalendar.SelectedDate, "neuer Eintrag 08/15");
            myCalendar.Items.Add(newItem);
            myCalendar.Refresh();
        }
    }
}

Kann mir jemand helfen?
Oder hat jemand Beispielcode zur Verwendeung dieses Controls?

Danke!