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!