バージョン

DayAppearance プロパティ (Owner)

UltraMonthViewSingleBase 派生コントロールにおいて、この Owner の日の外観を制御する Infragistics.Win.Appearance オブジェクトを取得または設定します。
シンタックス
'宣言
 
Public Property DayAppearance As Infragistics.Win.AppearanceBase
public Infragistics.Win.AppearanceBase DayAppearance {get; set;}
解説

オブジェクトの Appearance プロパティを使用して、外観を決定する Appearance オブジェクトにオブジェクトを関連付けます。Appearanceオブジェクトには、色、境界線、フォント、透明度などの設定を制御するプロパティがあります。 UltraScheduleのオブジェクトでは、ほとんどの場合、書式関連のプロパティを直接設定しません。その代わりに Appearance オブジェクトのプロパティを設定することで、その Appearance オブジェクトが関連付けられているオブジェクトの書式設定を制御します。

Appearance プロパティを使用してSSAppearance オブジェクトの属性を他のオブジェクトに割り当てるには、2 つの方法があります。1つは、新しい Appearance オブジェクトを作成し、それを Appearances コレクションに直接追加します。これで新しい Appearance オブジェクトを、書式設定したいオブジェクトの Appearance プロパティに割り当てます。この方法では、事前に明示的に作成してプロパティの設定を割り当てなければならない「名前付き」Appearance オブジェクトを使用します。たとえば、コンポーネントの Appearances コレクション内にオブジェクトを作成して値を割り当てるには、次のように記述します。

UltraMonthViewSingle1.Appearances.Add "New1"

UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue

UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red

この方法でオブジェクトを作成すると、コントロールの表示部分に書式は適用されません。オブジェクトはプロパティ値が設定された状態でコレクション内に存在するだけであり、使用されるまで待機しています。実際にこのオブジェクトを使用するには、コントロール (または別のオブジェクト) の Appearance プロパティにそのオブジェクトを割り当てる必要があります。

UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")

この場合、存在している Appearance オブジェクトは 1 つだけです。コントロールの外観は、コレクション内の「New1」オブジェクトの設定によって決まります。コレクション内のオブジェクトに変更を加えると、その変更は即時にコントロールに反映されます。

Appearanceプロパティのもう 1 つの使用方法は、Appearanceプロパティに直接プロパティ値を設定する方法です。次に例を示します。

UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue

この場合は、コントロールによって自動的に Appearance オブジェクトが作成されます。この Appearance オブジェクトは Appearances コレクションのメンバーではなく、名前はありません。このオブジェクトは、作成対象のオブジェクトに固有の「組み込み」Appearanceオブジェクトです。組み込み Appearance オブジェクトのプロパティを変更すると、それが属するオブジェクト内でのみ、その変更が反映されます。

従属関係を作成せずに、名前付き Appearance オブジェクトのプロパティを組み込み Appearance オブジェクトに割り当てることができます。たとえば、次のようなコードがあるとします。

UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor

この例では、組み込みオブジェクトの前景色と名前付きオブジェクトの前景色の間に関係は 確立されません 。これは単に名前付きオブジェクトの値を組み込みオブジェクトの値に1回限りで割り当てているだけです。この場合は 2 つの Appearance オブジェクトが存在し、1 つはコレクション内にあり、もう 1 つはコントロールに関連付けられ、互いに独立して動作します。

従属関係を作成せずに名前付きオブジェクトのすべてのプロパティを組み込みオブジェクトに一度に割り当てる場合、Appearance オブジェクトの Clone メソッドを使用して設定を複製し、それを適用することができます。名前付き Appearance オブジェクト「New1」のすべてのプロパティ設定をコントロールの組み込み Appearance オブジェクトに適用する場合に、「New1」への変更をコントロールに自動的に反映したくないときは、次のコードを使用します。

UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone

Appearance オブジェクトのプロパティは、階層式に適用することも可能です。プロパティの中には「use default」値に設定できるものがあります。 これは、オブジェクトの親からプロパティの設定を取得することを意味します。この機能はデフォルトで有効になっているため、設定を変更しないかぎり、子オブジェクトは親に類似し、コントロールの上位階層で設定された書式は下位のオブジェクトに引き継がれます。

注: オーナーの DayAppearance は、 UltraMonthViewSingleBase派生コントロールのみによって使用されます。

注: オーナーの DayAppearance は、関連付けられた UltraCalendarLook コンポーネントの日付固有の外観より個別性が低いとみなされますが、一般的な外観よりは個別的です。たとえば、特定の日付に対して DayLook オブジェクトが存在する場合は、そのオブジェクトの Appearance のほうがオーナーの DayAppearance よりも優先されます。しかし、より一般的な UltraCalendarLook.DayAppearance が設定されている場合は、オーナーの DayAppearanceが優先されます。

使用例
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinSchedule

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        '	Get a reference to the control's UltraCalendarInfo component
        Dim calendarInfo As UltraCalendarInfo = Me.ultraMonthViewSingle1.CalendarInfo

        '	Clear the existing owners
        calendarInfo.Owners.Clear()

        '	Hide the unassigned owner
        calendarInfo.Owners.UnassignedOwner.Visible = False

        '	Add 2 owners to the Owners collection
        Dim ownerFrick As Infragistics.Win.UltraWinSchedule.Owner = calendarInfo.Owners.Add("frick", "Frick")
        Dim ownerFrack As Infragistics.Win.UltraWinSchedule.Owner = calendarInfo.Owners.Add("frack", "Frack")

        '	Set up the appearance for the headers
        ownerFrick.HeaderAppearance.BackColor = Color.DarkGreen
        ownerFrick.HeaderAppearance.ForeColor = Color.LightGreen
        ownerFrack.HeaderAppearance.BackColor = Color.DarkRed
        ownerFrack.HeaderAppearance.ForeColor = Color.Pink

        '	Set up the appearance for the day area
        ownerFrick.DayAppearance.BackColor = Color.LightGreen
        ownerFrack.DayAppearance.BackColor = Color.Pink

        '	Set up the appearance for the alternate month day area
        ownerFrick.AlternateMonthDayAppearance.BackColor = Color.DarkGreen
        ownerFrack.AlternateMonthDayAppearance.BackColor = Color.DarkRed

        '	Set som UltraMonthViewSingle properties to display owners separately
        Me.UltraMonthViewSingle1.OwnerDisplayStyle = OwnerDisplayStyle.Separate
        Me.UltraMonthViewSingle1.MaximumOwnersInView = 2
    End Sub
using Infragistics.Win;
using Infragistics.Win.UltraWinSchedule;
using System.Diagnostics;

		private void button1_Click(object sender, System.EventArgs e)
		{
			//	Get a reference to the control's UltraCalendarInfo component
			UltraCalendarInfo calendarInfo = this.ultraMonthViewSingle1.CalendarInfo;

			//	Clear the existing owners
			calendarInfo.Owners.Clear();

			//	Hide the unassigned owner
			calendarInfo.Owners.UnassignedOwner.Visible = false;

			//	Add 2 owners to the Owners collection
			Infragistics.Win.UltraWinSchedule.Owner ownerFrick = calendarInfo.Owners.Add( "frick", "Frick" );
			Infragistics.Win.UltraWinSchedule.Owner ownerFrack = calendarInfo.Owners.Add( "frack", "Frack" );

			//	Set up the appearance for the headers
			ownerFrick.HeaderAppearance.BackColor = Color.DarkGreen;
			ownerFrick.HeaderAppearance.ForeColor = Color.LightGreen;
			ownerFrack.HeaderAppearance.BackColor = Color.DarkRed;
			ownerFrack.HeaderAppearance.ForeColor = Color.Pink;

			//	Set up the appearance for the day area
			ownerFrick.DayAppearance.BackColor = Color.LightGreen;
			ownerFrack.DayAppearance.BackColor = Color.Pink;

			//	Set up the appearance for the alternate month day area
			ownerFrick.AlternateMonthDayAppearance.BackColor = Color.DarkGreen;
			ownerFrack.AlternateMonthDayAppearance.BackColor = Color.DarkRed;

			//	Set som UltraMonthViewSingle properties to display owners separately
			this.ultraMonthViewSingle1.OwnerDisplayStyle = OwnerDisplayStyle.Separate;
			this.ultraMonthViewSingle1.MaximumOwnersInView = 2;
		}
参照