Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações. |
Tradução
Original
|
Classe MonthCalendar
Representa um controle do Windows que permite que o usuário selecione uma data usando um painel visual de calendário mensal.
Assembly: System.Windows.Forms (em System.Windows.Forms.dll)
The MonthCalendar controle permite que o usuário selecionar uma data usando uma exibição visual. Você pode limitar a data e horas que podem ser selecionadas, definindo o MinDate e MaxDate Propriedades.
Você pode alterar a aparência da parte do controle pelo calendário configuração o ForeColor, Font, TitleBackColor, TitleForeColor, TrailingForeColor, e BackColor Propriedades.
The MonthCalendar controle é desenhado pelo sistema operacional, portanto, o Paint evento nunca é gerado. Se você precisar fornecer uma aparência personalizada à MonthCalendar controle, você deve substituir o OnPrint método, telefonar implementação base do OnPrinte, em seguida, executar pintura personalizada.
Se precisar de uma seleção limitada a apenas uma data e formatação de data personalizado, você poderá considerar o uso de um DateTimePicker controlar em vez de um MonthCalendar. Usando o DateTimePicker elimina a maior parte da necessidade de validação de valores de data/time.
Para obter mais informações sobre o mês controles de calendário, consulte "Controles de calendário do mês" na documentação do plataforma SDK emhttp://msdn.Microsoft.com.
Observação:
|
|---|
|
Usando o MonthCalendar com estilos visuais ativados fará com que um intervalo de seleção para o MonthCalendar controle não pintar corretamente e data de hoje estejam contidas em um quadrado se ShowTodayCircle é conjunto para true. |
O exemplo de código a seguir exibe um formulário que contém um MonthCalendar controle que exibe um ano do calendário. O exemplo demonstra a configuração de BackColor, ForeColor, TitleBackColor, TitleForeColor, CalendarDimensions, e TrailingForeColor propriedades para personalizar a aparência do controle de calendário. Outras propriedades, sistema autônomo AnnuallyBoldedDates, BoldedDates, e MonthlyBoldedDates são conjunto personalizar quais datas estão em negrito. O exemplo também define o FirstDayOfWeek, MaxDate, MinDate, e MaxSelectionCount propriedades para alterar o formato de calendário. The DateSelected e DateChanged eventos também são processados e seu status é exibido no formulário.
using System; using System.Drawing; using System.Windows.Forms; publicclass Form1 : System.Windows.Forms.Form { private System.Windows.Forms.MonthCalendar monthCalendar1; private System.Windows.Forms.TextBox textBox1; [STAThread] staticvoid Main() { Application.Run(new Form1()); } public Form1() { this.textBox1 = new System.Windows.Forms.TextBox(); this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox1.Location = new System.Drawing.Point(48, 488); this.textBox1.Multiline = true; this.textBox1.ReadOnly = true; this.textBox1.Size = new System.Drawing.Size(824, 32); // Create the calendar.this.monthCalendar1 = new System.Windows.Forms.MonthCalendar(); // Set the calendar location.this.monthCalendar1.Location = new System.Drawing.Point(47, 16); // Change the color.this.monthCalendar1.BackColor = System.Drawing.SystemColors.Info; this.monthCalendar1.ForeColor = System.Drawing.Color.FromArgb( ((System.Byte)(192)), ((System.Byte)(0)), ((System.Byte)(192))); this.monthCalendar1.TitleBackColor = System.Drawing.Color.Purple; this.monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow; this.monthCalendar1.TrailingForeColor = System.Drawing.Color.FromArgb( ((System.Byte)(192)), ((System.Byte)(192)), ((System.Byte)(0))); // Add dates to the AnnuallyBoldedDates array.this.monthCalendar1.AnnuallyBoldedDates = new System.DateTime[] { new System.DateTime(2002, 4, 20, 0, 0, 0, 0), new System.DateTime(2002, 4, 28, 0, 0, 0, 0), new System.DateTime(2002, 5, 5, 0, 0, 0, 0), new System.DateTime(2002, 7, 4, 0, 0, 0, 0), new System.DateTime(2002, 12, 15, 0, 0, 0, 0), new System.DateTime(2002, 12, 18, 0, 0, 0, 0)}; // Add dates to BoldedDates array.this.monthCalendar1.BoldedDates = new System.DateTime[] {new System.DateTime(2002, 9, 26, 0, 0, 0, 0)}; // Add dates to MonthlyBoldedDates array.this.monthCalendar1.MonthlyBoldedDates = new System.DateTime[] {new System.DateTime(2002, 1, 15, 0, 0, 0, 0), new System.DateTime(2002, 1, 30, 0, 0, 0, 0)}; // Configure the calendar to display 3 rows by 4 columns of months.this.monthCalendar1.CalendarDimensions = new System.Drawing.Size(4, 3); // Set week to begin on Monday.this.monthCalendar1.FirstDayOfWeek = System.Windows.Forms.Day.Monday; // Set the maximum visible date on the calendar to 12/31/2010.this.monthCalendar1.MaxDate = new System.DateTime(2010, 12, 31, 0, 0, 0, 0); // Set the minimum visible date on calendar to 12/31/2010.this.monthCalendar1.MinDate = new System.DateTime(1999, 1, 1, 0, 0, 0, 0); // Only allow 21 days to be selected at the same time.this.monthCalendar1.MaxSelectionCount = 21; // Set the calendar to move one month at a time when navigating using the arrows.this.monthCalendar1.ScrollChange = 1; // Do not show the "Today" banner. this.monthCalendar1.ShowToday = false; // Do not circle today's date.this.monthCalendar1.ShowTodayCircle = false; // Show the week numbers to the left of each week.this.monthCalendar1.ShowWeekNumbers = true; // Add event handlers for the DateSelected and DateChanged eventsthis.monthCalendar1.DateSelected += new System.Windows.Forms.DateRangeEventHandler(this.monthCalendar1_DateSelected); this.monthCalendar1.DateChanged += new System.Windows.Forms.DateRangeEventHandler(this.monthCalendar1_DateChanged); // Set up how the form should be displayed and add the controls to the form.this.ClientSize = new System.Drawing.Size(920, 566); this.Controls.AddRange(new System.Windows.Forms.Control[] {this.textBox1, this.monthCalendar1}); this.Text = "Month Calendar Example"; } privatevoid monthCalendar1_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e) { // Show the start and end dates in the text box.this.textBox1.Text = "Date Selected: Start = " + e.Start.ToShortDateString() + " : End = " + e.End.ToShortDateString(); } privatevoid monthCalendar1_DateChanged(object sender, System.Windows.Forms.DateRangeEventArgs e) { // Show the start and end dates in the text box.this.textBox1.Text = "Date Changed: Start = " + e.Start.ToShortDateString() + " : End = " + e.End.ToShortDateString(); } }
import System.*;
import System.Drawing.*;
import System.Windows.Forms.*;
public class Form1 extends System.Windows.Forms.Form
{
private System.Windows.Forms.MonthCalendar monthCalendar1;
private System.Windows.Forms.TextBox textBox1;
/** @attribute STAThread()
*/
public static void main(String[] args)
{
Application.Run(new Form1());
} //main
public Form1()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox1.set_BorderStyle(
System.Windows.Forms.BorderStyle.FixedSingle);
this.textBox1.set_Location(new System.Drawing.Point(48, 488));
this.textBox1.set_Multiline(true);
this.textBox1.set_ReadOnly(true);
this.textBox1.set_Size(new System.Drawing.Size(824, 32));
// Create the calendar.
this.monthCalendar1 = new System.Windows.Forms.MonthCalendar();
// Set the calendar location.
this.monthCalendar1.set_Location(new System.Drawing.Point(47, 16));
// Change the color.
this.monthCalendar1.set_BackColor(
System.Drawing.SystemColors.get_Info());
this.monthCalendar1.set_ForeColor(
System.Drawing.Color.FromArgb(192, 0, 192));
this.monthCalendar1.set_TitleBackColor(System.Drawing.Color.get_Purple());
this.monthCalendar1.set_TitleForeColor(System.Drawing.Color.get_Yellow());
this.monthCalendar1.set_TrailingForeColor(
System.Drawing.Color.FromArgb(192, 192, 0));
// Add dates to the AnnuallyBoldedDates array.
this.monthCalendar1.set_AnnuallyBoldedDates(new System.DateTime[] {
new System.DateTime(2002, 4, 20, 0, 0, 0, 0),
new System.DateTime(2002, 4, 28, 0, 0, 0, 0),
new System.DateTime(2002, 5, 5, 0, 0, 0, 0),
new System.DateTime(2002, 7, 4, 0, 0, 0, 0),
new System.DateTime(2002, 12, 15, 0, 0, 0, 0),
new System.DateTime(2002, 12, 18, 0, 0, 0, 0) });
// Add dates to BoldedDates array.
this.monthCalendar1.set_BoldedDates(new System.DateTime[] {
new System.DateTime(2002, 9, 26, 0, 0, 0, 0) });
// Add dates to MonthlyBoldedDates array.
this.monthCalendar1.set_MonthlyBoldedDates(new System.DateTime[] {
new System.DateTime(2002, 1, 15, 0, 0, 0, 0),
new System.DateTime(2002, 1, 30, 0, 0, 0, 0) });
// Configure the calendar to display 3 rows by 4 columns of months.
this.monthCalendar1.set_CalendarDimensions(new System.Drawing.Size(4, 3));
// Set week to begin on Monday.
this.monthCalendar1.set_FirstDayOfWeek(System.Windows.Forms.Day.Monday);
// Set the maximum visible date on the calendar to 12/31/2010.
this.monthCalendar1.set_MaxDate(
new System.DateTime(2010, 12, 31, 0, 0, 0, 0));
// Set the minimum visible date on calendar to 12/31/2010.
this.monthCalendar1.set_MinDate(
new System.DateTime(1999, 1, 1, 0, 0, 0, 0));
// Only allow 21 days to be selected at the same time.
this.monthCalendar1.set_MaxSelectionCount(21);
// Set the calendar to move one month at a time when navigating
// using the arrows.
this.monthCalendar1.set_ScrollChange(1);
// Do not show the "Today" banner.
this.monthCalendar1.set_ShowToday(false);
// Do not circle today's date.
this.monthCalendar1.set_ShowTodayCircle(false);
// Show the week numbers to the left of each week.
this.monthCalendar1.set_ShowWeekNumbers(true);
// Add event handlers for the DateSelected and DateChanged events
this.monthCalendar1.add_DateSelected(
new System.Windows.Forms.DateRangeEventHandler(
this.monthCalendar1_DateSelected));
this.monthCalendar1.add_DateChanged(
new System.Windows.Forms.DateRangeEventHandler(
this.monthCalendar1_DateChanged));
// Set up how the form should be displayed and add the controls to
// the form.
this.set_ClientSize(new System.Drawing.Size(920, 566));
this.get_Controls().AddRange(new System.Windows.Forms.Control[] {
this.textBox1, this.monthCalendar1 });
this.set_Text("Month Calendar Example");
} //Form1
private void monthCalendar1_DateSelected(Object sender,
System.Windows.Forms.DateRangeEventArgs e)
{
// Show the start and end dates in the text box.
this.textBox1.set_Text("Date Selected: Start = "
+ e.get_Start().ToShortDateString() + " : End = "
+ e.get_End().ToShortDateString());
} //monthCalendar1_DateSelected
private void monthCalendar1_DateChanged(Object sender,
System.Windows.Forms.DateRangeEventArgs e)
{
// Show the start and end dates in the text box.
this.textBox1.set_Text("Date Changed: Start = "
+ e.get_Start().ToShortDateString() + " : End = "
+ e.get_End().ToShortDateString());
} //monthCalendar1_DateChanged
} //Form1
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.MonthCalendar
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Pocket PC
o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.
Observação: