MonthCalendar.TitleBackColor 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置指示日历标题区的背景色的值。
public:
property System::Drawing::Color TitleBackColor { System::Drawing::Color get(); void set(System::Drawing::Color value); };
public System.Drawing.Color TitleBackColor { get; set; }
member this.TitleBackColor : System.Drawing.Color with get, set
Public Property TitleBackColor As Color
属性值
Color。 默认值为活动标题的系统颜色。
例外
该值不是有效的 Color。
示例
下面的代码示例显示一个窗体,其中包含 MonthCalendar 显示一个日历年的控件。 该示例演示如何设置 BackColor、、ForeColor、CalendarDimensionsTitleBackColorTitleForeColor、 和 TrailingForeColor 属性以自定义日历控件的外观。 其他属性(如 AnnuallyBoldedDates、 BoldedDates和 MonthlyBoldedDates )设置为自定义哪些日期为粗体。 该示例还设置 FirstDayOfWeek、 MaxDate、 MinDate和 MaxSelectionCount 属性以更改日历格式。 DateSelected还会处理 和 DateChanged 事件,并在窗体上显示其状态。
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public System::Windows::Forms::Form
{
private:
System::Windows::Forms::MonthCalendar^ monthCalendar1;
System::Windows::Forms::TextBox^ textBox1;
public:
Form1()
{
this->textBox1 = gcnew System::Windows::Forms::TextBox;
this->textBox1->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
this->textBox1->Location = System::Drawing::Point( 48, 488 );
this->textBox1->Multiline = true;
this->textBox1->ReadOnly = true;
this->textBox1->Size = System::Drawing::Size( 824, 32 );
// Create the calendar.
this->monthCalendar1 = gcnew System::Windows::Forms::MonthCalendar;
// Set the calendar location.
this->monthCalendar1->Location = 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.
array<System::DateTime>^ temp1 = {System::DateTime( 2002, 4, 20, 0, 0, 0, 0 ),System::DateTime( 2002, 4, 28, 0, 0, 0, 0 ),System::DateTime( 2002, 5, 5, 0, 0, 0, 0 ),System::DateTime( 2002, 7, 4, 0, 0, 0, 0 ),System::DateTime( 2002, 12, 15, 0, 0, 0, 0 ),System::DateTime( 2002, 12, 18, 0, 0, 0, 0 )};
this->monthCalendar1->AnnuallyBoldedDates = temp1;
// Add dates to BoldedDates array.
array<System::DateTime>^ temp2 = {System::DateTime( 2002, 9, 26, 0, 0, 0, 0 )};
this->monthCalendar1->BoldedDates = temp2;
// Add dates to MonthlyBoldedDates array.
array<System::DateTime>^ temp5 = {System::DateTime( 2002, 1, 15, 0, 0, 0, 0 ),System::DateTime( 2002, 1, 30, 0, 0, 0, 0 )};
this->monthCalendar1->MonthlyBoldedDates = temp5;
// Configure the calendar to display 3 rows by 4 columns of months.
this->monthCalendar1->CalendarDimensions = 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 = System::DateTime( 2010, 12, 31, 0, 0, 0, 0 );
// Set the minimum visible date on calendar to 12/31/2010.
this->monthCalendar1->MinDate = 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 S"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 events
this->monthCalendar1->DateSelected += gcnew System::Windows::Forms::DateRangeEventHandler( this, &Form1::monthCalendar1_DateSelected );
this->monthCalendar1->DateChanged += gcnew System::Windows::Forms::DateRangeEventHandler( this, &Form1::monthCalendar1_DateChanged );
// Set up how the form should be displayed and add the controls to the form.
this->ClientSize = System::Drawing::Size( 920, 566 );
array<System::Windows::Forms::Control^>^temp0 = {this->textBox1,this->monthCalendar1};
this->Controls->AddRange( temp0 );
this->Text = "Month Calendar Example";
}
private:
void monthCalendar1_DateSelected( Object^ /*sender*/, System::Windows::Forms::DateRangeEventArgs^ e )
{
// Show the start and end dates in the text box.
this->textBox1->Text = String::Format( "Date Selected: Start = {0} : End = {1}", e->Start.ToShortDateString(), e->End.ToShortDateString() );
}
void monthCalendar1_DateChanged( Object^ /*sender*/, System::Windows::Forms::DateRangeEventArgs^ e )
{
// Show the start and end dates in the text box.
this->textBox1->Text = String::Format( "Date Changed: Start = {0} : End = {1}", e->Start.ToShortDateString(), e->End.ToShortDateString() );
}
};
[STAThread]
int main()
{
Application::Run( gcnew Form1 );
}
using System;
using System.Drawing;
using System.Windows.Forms;
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.MonthCalendar monthCalendar1;
private System.Windows.Forms.TextBox textBox1;
[STAThread]
static void 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 events
this.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";
}
private void 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();
}
private void 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();
}
}
Imports System.Drawing
Imports System.Windows.Forms
Public NotInheritable Class Form1
Inherits System.Windows.Forms.Form
Friend WithEvents MonthCalendar1 As System.Windows.Forms.MonthCalendar
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
<System.STAThread()> _
Public Shared Sub Main()
System.Windows.Forms.Application.Run(New Form1)
End Sub
Public Sub New()
MyBase.New()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.TextBox1.Location = New System.Drawing.Point(48, 488)
Me.TextBox1.Multiline = True
Me.TextBox1.ReadOnly = True
Me.TextBox1.Size = New System.Drawing.Size(824, 32)
' Create the calendar.
Me.MonthCalendar1 = New System.Windows.Forms.MonthCalendar
' Set the calendar location.
Me.MonthCalendar1.Location = New System.Drawing.Point(47, 16)
' Change the color.
Me.MonthCalendar1.BackColor = System.Drawing.SystemColors.Info
Me.MonthCalendar1.ForeColor = System.Drawing.Color.FromArgb( _
CType(192, System.Byte), CType(0, System.Byte), CType(192, System.Byte))
Me.MonthCalendar1.TitleBackColor = System.Drawing.Color.Purple
Me.MonthCalendar1.TitleForeColor = System.Drawing.Color.Yellow
Me.MonthCalendar1.TrailingForeColor = System.Drawing.Color.FromArgb( _
CType(192, System.Byte), CType(192, System.Byte), CType(0, System.Byte))
' Add dates to the AnnuallyBoldedDates array.
Me.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.
Me.MonthCalendar1.BoldedDates = New System.DateTime() {New System.DateTime(2002, 9, 26, 0, 0, 0, 0)}
' Add dates to MonthlyBoldedDates array.
Me.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.
Me.MonthCalendar1.CalendarDimensions = New System.Drawing.Size(4, 3)
' Set the week to begin on Monday.
Me.MonthCalendar1.FirstDayOfWeek = System.Windows.Forms.Day.Monday
' Sets the maximum visible date on the calendar to 12/31/2010.
Me.MonthCalendar1.MaxDate = New System.DateTime(2010, 12, 31, 0, 0, 0, 0)
' Set the minimum visible date on the calendar to 12/31/2010.
Me.MonthCalendar1.MinDate = New System.DateTime(1999, 1, 1, 0, 0, 0, 0)
' Only allow 21 days to be selected at the same time.
Me.MonthCalendar1.MaxSelectionCount = 21
' Set the calendar to move one month at a time when navigating using the arrows.
Me.MonthCalendar1.ScrollChange = 1
' Do not show the "Today" banner.
Me.MonthCalendar1.ShowToday = False
' Do not circle today's date.
Me.MonthCalendar1.ShowTodayCircle = False
' Show the week numbers to the left of each week.
Me.MonthCalendar1.ShowWeekNumbers = True
' Set up how the form should be displayed and add the controls to the form.
Me.ClientSize = New System.Drawing.Size(920, 566)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.TextBox1, Me.MonthCalendar1})
Me.Text = "Month Calendar Example"
End Sub
Private Sub monthCalendar1_DateSelected(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateSelected
' Show the start and end dates in the text box.
Me.TextBox1.Text = "Date Selected: Start = " + _
e.Start.ToShortDateString() + " : End = " + e.End.ToShortDateString()
End Sub
Private Sub monthCalendar1_DateChanged(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged
' Show the start and end dates in the text box.
Me.TextBox1.Text = "Date Changed: Start = " + _
e.Start.ToShortDateString() + " : End = " + e.End.ToShortDateString()
End Sub
End Class
注解
星期数文本的字体颜色取决于 TitleBackColor 属性。 将 TitleBackColor 设置为BackColor日历main显示区域的 等于 会导致星期数文本变得不可读。
从 Windows Vista 开始,根据主题,设置此属性可能不会更改日历的外观。 例如,如果 Windows 设置为使用 Aero 主题,则设置此属性不起作用。 这是因为日历的更新版本以在运行时从当前操作系统主题派生的外观呈现。 如果要使用此属性并启用早期版本的日历,可以为应用程序禁用视觉样式。 禁用视觉样式可能会影响应用程序中其他控件的外观和行为。 要在 Visual Basic 中禁用视觉样式,请打开项目设计器并取消选中“启用 XP 视觉样式”复选框。 要在 C# 中禁用视觉样式,请打开 Program.cs 并注释禁止 Application.EnableVisualStyles();
。