using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using GrapeCity.Win.CalendarGrid;
namespace CalendarGridSampleCode
{
public class CalendarViewDemo : Form
{
private GcCalendarGrid gcCalendarGrid1 = new GcCalendarGrid();
private TableLayoutPanel tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
private TableLayoutPanel tableLayoutPanel2 = new TableLayoutPanel();
private Button button1 = new Button();
private Button button2 = new Button();
private Button button3 = new Button();
private Button button4 = new Button();
public CalendarViewDemo()
{
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 90F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(554, 426);
this.gcCalendarGrid1.Dock = DockStyle.Fill;
this.tableLayoutPanel1.Controls.Add(this.gcCalendarGrid1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 1);
this.button1.Dock = System.Windows.Forms.DockStyle.Fill;
this.button1.Text = "MonthView";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += button1_Click;
this.button2.Dock = System.Windows.Forms.DockStyle.Fill;
this.button2.Text = "WeekView";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += button2_Click;
this.button3.Dock = System.Windows.Forms.DockStyle.Fill;
this.button3.Text = "MultiColumnMonthView";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += button3_Click;
this.button4.Dock = System.Windows.Forms.DockStyle.Fill;
this.button4.Text = "ListView";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += button4_Click;
this.tableLayoutPanel2.ColumnCount = 4;
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25f));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25f));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25f));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25f));
this.tableLayoutPanel2.Controls.Add(this.button1, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.button2, 1, 0);
this.tableLayoutPanel2.Controls.Add(this.button3, 2, 0);
this.tableLayoutPanel2.Controls.Add(this.button4, 3, 0);
this.tableLayoutPanel2.Dock = DockStyle.Fill;
this.Text = "Calendar View Demo";
this.Size = new Size(800, 700);
this.StartPosition = FormStartPosition.CenterScreen;
this.Controls.Add(this.tableLayoutPanel1);
}
private void button1_Click(object sender, EventArgs e)
{
this.UseMonthView();
}
private void button2_Click(object sender, EventArgs e)
{
this.UseWeekView();
}
private void button3_Click(object sender, EventArgs e)
{
this.UseMonthMultiColumnView();
}
private void button4_Click(object sender, EventArgs e)
{
this.UseListView();
}
private void UseMonthView()
{
CalendarMonthView monthView = new CalendarMonthView();
monthView.Dimensions = new Size(3, 4);
monthView.MinScrollCount = 12;
this.gcCalendarGrid1.CalendarView = monthView;
CalendarTemplate template = new CalendarTemplate(1, 1, 2, 1);
template.ColumnHeader.CellStyle.Alignment = CalendarGridContentAlignment.MiddleCenter;
template.ColumnHeader[0, 0].DateFormat = CalendarDateFormats.Month;
template.ColumnHeader[0, 0].AutoMergeMode = AutoMergeMode.Horizontal;
template.ColumnHeader[1, 0].DateFormat = CalendarDateFormats.ShortestDayOfWeek;
template.RowHeader.CellStyle.Alignment = CalendarGridContentAlignment.MiddleCenter;
template.RowHeader.CellStyle.ForeColor = Color.Green;
template.RowHeader.Columns[0].Width = 30;
template.RowHeader[0, 0].DateFormat = CalendarDateFormats.WeekNumber;
template.RowHeader[0, 0].CellStyle.Alignment = CalendarGridContentAlignment.MiddleCenter;
template.Content.Columns[0].Width = 30;
template.Content.CellStyleName = this.gcCalendarGrid1.Styles[0].Name;
template.Content[0, 0].DateFormat = CalendarDateFormats.Day;
this.gcCalendarGrid1.Template = template;
this.gcCalendarGrid1.FirstDateInView = new DateTime(DateTime.Today.Year, 1, 1);
}
private void UseWeekView()
{
CalendarWeekView weekView = new CalendarWeekView();
weekView.WeekCount = 2;
weekView.ShowWeekend = false;
this.gcCalendarGrid1.CalendarView = weekView;
this.gcCalendarGrid1.Template = CalendarTemplate.CreateDefaultTemplate();
}
private void UseMonthMultiColumnView()
{
CalendarMonthMultiColumnView monthView = new CalendarMonthMultiColumnView();
monthView.MonthCount = 12;
monthView.MinScrollCount = 12;
monthView.ColumnBreaks = new int[] { 10, 20 };
monthView.Orientation = Orientation.Vertical;
this.gcCalendarGrid1.CalendarView = monthView;
CalendarTemplate template = new CalendarTemplate(1, 1, 1, 0);
template.ColumnHeader[0, 0].DateFormat = CalendarDateFormats.Month;
template.ColumnHeader[0, 0].AutoMergeMode = AutoMergeMode.Horizontal;
template.ColumnHeader[0, 0].CellStyle.Alignment = CalendarGridContentAlignment.MiddleCenter;
template.Content.Columns[0].Width = 30;
template.Content[0, 0].DateFormat = CalendarDateFormats.Day;
this.gcCalendarGrid1.Template = template;
this.gcCalendarGrid1.FirstDateInView = new DateTime(DateTime.Today.Year, 1, 1);
}
private void UseListView()
{
CalendarListView listView = new CalendarListView();
listView.DayCount = 100;
listView.DateAlignment = DateAlignment.Month;
this.gcCalendarGrid1.CalendarView = listView;
CalendarTemplate template = new CalendarTemplate(20, 1, 2, 1);
template.ColumnHeader.CellStyle.Alignment = CalendarGridContentAlignment.MiddleCenter;
template.ColumnHeader[0, 0].DateFormat = CalendarDateFormats.Month;
template.ColumnHeader[0, 0].AutoMergeMode = AutoMergeMode.Horizontal;
template.ColumnHeader[0, 0].AllowContentFloat = true;
template.ColumnHeader[1, 0].DateFormat = CalendarDateFormats.Day;
template.RowHeader.Columns[0].Width = 30;
template.Content.Columns[0].Width = 30;
this.gcCalendarGrid1.Template = template;
}
[STAThreadAttribute]
public static void Main()
{
Application.EnableVisualStyles();
Application.Run(new CalendarViewDemo());
}
}
}
Imports System.Collections.Generic
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Windows.Forms
Imports GrapeCity.Win.CalendarGrid
Namespace CalendarGridSampleCode
Public Class CalendarViewDemo
Inherits Form
Private gcCalendarGrid1 As New GcCalendarGrid()
Private tableLayoutPanel1 As TableLayoutPanel = New System.Windows.Forms.TableLayoutPanel()
Private tableLayoutPanel2 As New TableLayoutPanel()
Private button1 As New Button()
Private button2 As New Button()
Private button3 As New Button()
Private button4 As New Button()
Public Sub New()
Me.tableLayoutPanel1.ColumnCount = 1
Me.tableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0F))
Me.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.tableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
Me.tableLayoutPanel1.Name = "tableLayoutPanel1"
Me.tableLayoutPanel1.RowCount = 2
Me.tableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 90.0F))
Me.tableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0F))
Me.tableLayoutPanel1.Size = New System.Drawing.Size(554, 426)
Me.gcCalendarGrid1.Dock = DockStyle.Fill
Me.tableLayoutPanel1.Controls.Add(Me.gcCalendarGrid1, 0, 0)
Me.tableLayoutPanel1.Controls.Add(Me.tableLayoutPanel2, 0, 1)
Me.button1.Dock = System.Windows.Forms.DockStyle.Fill
Me.button1.Text = "MonthView"
Me.button1.UseVisualStyleBackColor = True
AddHandler Me.button1.Click, AddressOf button1_Click
Me.button2.Dock = System.Windows.Forms.DockStyle.Fill
Me.button2.Text = "WeekView"
Me.button2.UseVisualStyleBackColor = True
AddHandler Me.button2.Click, AddressOf button2_Click
Me.button3.Dock = System.Windows.Forms.DockStyle.Fill
Me.button3.Text = "MultiColumnMonthView"
Me.button3.UseVisualStyleBackColor = True
AddHandler Me.button3.Click, AddressOf button3_Click
Me.button4.Dock = System.Windows.Forms.DockStyle.Fill
Me.button4.Text = "ListView"
Me.button4.UseVisualStyleBackColor = True
AddHandler Me.button4.Click, AddressOf button4_Click
Me.tableLayoutPanel2.ColumnCount = 4
Me.tableLayoutPanel2.RowCount = 1
Me.tableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.0F))
Me.tableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.0F))
Me.tableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.0F))
Me.tableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.0F))
Me.tableLayoutPanel2.Controls.Add(Me.button1, 0, 0)
Me.tableLayoutPanel2.Controls.Add(Me.button2, 1, 0)
Me.tableLayoutPanel2.Controls.Add(Me.button3, 2, 0)
Me.tableLayoutPanel2.Controls.Add(Me.button4, 3, 0)
Me.tableLayoutPanel2.Dock = DockStyle.Fill
Me.Text = "Calendar View Demo"
Me.Size = New Size(800, 700)
Me.StartPosition = FormStartPosition.CenterScreen
Me.Controls.Add(Me.tableLayoutPanel1)
End Sub
Private Sub button1_Click(sender As Object, e As EventArgs)
Me.UseMonthView()
End Sub
Private Sub button2_Click(sender As Object, e As EventArgs)
Me.UseWeekView()
End Sub
Private Sub button3_Click(sender As Object, e As EventArgs)
Me.UseMonthMultiColumnView()
End Sub
Private Sub button4_Click(sender As Object, e As EventArgs)
Me.UseListView()
End Sub
Private Sub UseMonthView()
Dim monthView As New CalendarMonthView()
monthView.Dimensions = New Size(3, 4)
monthView.MinScrollCount = 12
Me.gcCalendarGrid1.CalendarView = monthView
Dim template As New CalendarTemplate(1, 1, 2, 1)
template.ColumnHeader.CellStyle.Alignment = CalendarGridContentAlignment.MiddleCenter
template.ColumnHeader(0, 0).DateFormat = CalendarDateFormats.Month
template.ColumnHeader(0, 0).AutoMergeMode = AutoMergeMode.Horizontal
template.ColumnHeader(1, 0).DateFormat = CalendarDateFormats.ShortestDayOfWeek
template.RowHeader.CellStyle.Alignment = CalendarGridContentAlignment.MiddleCenter
template.RowHeader.CellStyle.ForeColor = Color.Green
template.RowHeader.Columns(0).Width = 30
template.RowHeader(0, 0).DateFormat = CalendarDateFormats.WeekNumber
template.RowHeader(0, 0).CellStyle.Alignment = CalendarGridContentAlignment.MiddleCenter
template.Content.Columns(0).Width = 30
template.Content.CellStyleName = Me.gcCalendarGrid1.Styles(0).Name
template.Content(0, 0).DateFormat = CalendarDateFormats.Day
Me.gcCalendarGrid1.Template = template
Me.gcCalendarGrid1.FirstDateInView = New DateTime(DateTime.Today.Year, 1, 1)
End Sub
Private Sub UseWeekView()
Dim weekView As New CalendarWeekView()
weekView.WeekCount = 2
weekView.ShowWeekend = False
Me.gcCalendarGrid1.CalendarView = weekView
Me.gcCalendarGrid1.Template = CalendarTemplate.CreateDefaultTemplate()
End Sub
Private Sub UseMonthMultiColumnView()
Dim monthView As New CalendarMonthMultiColumnView()
monthView.MonthCount = 12
monthView.MinScrollCount = 12
monthView.ColumnBreaks = New Integer() {10, 20}
monthView.Orientation = Orientation.Vertical
Me.gcCalendarGrid1.CalendarView = monthView
Dim template As New CalendarTemplate(1, 1, 1, 0)
template.ColumnHeader(0, 0).DateFormat = CalendarDateFormats.Month
template.ColumnHeader(0, 0).AutoMergeMode = AutoMergeMode.Horizontal
template.ColumnHeader(0, 0).CellStyle.Alignment = CalendarGridContentAlignment.MiddleCenter
template.Content.Columns(0).Width = 30
template.Content(0, 0).DateFormat = CalendarDateFormats.Day
Me.gcCalendarGrid1.Template = template
Me.gcCalendarGrid1.FirstDateInView = New DateTime(DateTime.Today.Year, 1, 1)
End Sub
Private Sub UseListView()
Dim listView As New CalendarListView()
listView.DayCount = 100
listView.DateAlignment = DateAlignment.Month
Me.gcCalendarGrid1.CalendarView = listView
Dim template As New CalendarTemplate(20, 1, 2, 1)
template.ColumnHeader.CellStyle.Alignment = CalendarGridContentAlignment.MiddleCenter
template.ColumnHeader(0, 0).DateFormat = CalendarDateFormats.Month
template.ColumnHeader(0, 0).AutoMergeMode = AutoMergeMode.Horizontal
template.ColumnHeader(0, 0).AllowContentFloat = True
template.ColumnHeader(1, 0).DateFormat = CalendarDateFormats.Day
template.RowHeader.Columns(0).Width = 30
template.Content.Columns(0).Width = 30
Me.gcCalendarGrid1.Template = template
End Sub
<STAThreadAttribute> _
Public Shared Sub Main()
Application.EnableVisualStyles()
Application.Run(New CalendarViewDemo())
End Sub
End Class
End Namespace