バージョン

IsAvailableForAutoAssignment メソッド

指定した 'baseColor' に対応するカラー スキームが Owner への自動割り当てで使用可能かどうかを返します。
シンタックス
'宣言
 
Public Function IsAvailableForAutoAssignment( _
   ByVal baseColor As Color _
) As Boolean
public bool IsAvailableForAutoAssignment( 
   Color baseColor
)

パラメータ

baseColor
テストされる Outlook2007ColorScheme インスタンスを識別する色。

戻り値の型

指定された baseColor が Owner への自動的な割り当てで使用可能な場合には True。そうでない場合は False。
解説

注: 指定した baseColor に対応するカラー スキームが存在しない場合、例外がスローされます。

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

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        '	Set the UltraMonthViewSingle control up to separate owners
        Me.ultraMonthViewSingle1.OwnerDisplayStyle = OwnerDisplayStyle.Separate
        Me.ultraMonthViewSingle1.ActiveOwner = Me.ultraCalendarInfo1.Owners.UnassignedOwner
        Me.ultraMonthViewSingle1.CalendarLook.ViewStyle = ViewStyle.Office2007

        '	Reserve the color schemes which correspond to the Office2007 color schemes
        Dim colorSchemes As Outlook2007ColorSchemeCollection = Me.ultraCalendarLook1.Outlook2007ColorSchemes
        Me.ultraMonthViewSingle1.CalendarLook.Outlook2007ColorSchemes.DisallowAutoAssignment(colorSchemes.BaseColorBlue)
        Me.ultraMonthViewSingle1.CalendarLook.Outlook2007ColorSchemes.DisallowAutoAssignment(colorSchemes.BaseColorBlack)
        Me.ultraMonthViewSingle1.CalendarLook.Outlook2007ColorSchemes.DisallowAutoAssignment(colorSchemes.BaseColorSilver)

        '	Create a new instance of the Outlook2007ColorSchemeDropDown
        ' (see code sample included with the Outlook2007ColorScheme class help topic) 
        Dim dropDown As New Outlook2007ColorSchemeDropDown(Me, Me.ultraCalendarLook1)

        '	Hook the SelectionChangeCommitted event
        AddHandler dropDown.SelectionChangeCommitted, AddressOf Me.Outlook2007ColorSchemeDropDown_SelectionChangeCommitted

    End Sub

    Private Sub Outlook2007ColorSchemeDropDown_SelectionChangeCommitted(ByVal sender As Object, ByVal e As EventArgs)
        Dim dropDown As Outlook2007ColorSchemeDropDown = sender
        If Not (Me.ultraMonthViewSingle1.ActiveOwner Is Nothing) Then

            '	Get a reference to the Outlook2007ColorScheme that was selected by the end user.
            Dim selectedColorScheme As Outlook2007ColorScheme = dropDown.SelectedColorScheme
            Dim calendarLook As UltraCalendarLook = dropDown.CalendarLook
            Dim colorSchemes As Outlook2007ColorSchemeCollection = calendarLook.Outlook2007ColorSchemes

            '	If the color scheme is reserved, and not assigned to this owner, prompt the end user
            Dim result As DialogResult = DialogResult.Yes
            If (colorSchemes.IsAvailableForAutoAssignment(selectedColorScheme.BaseColor) = False) Then

                Dim currentlyAssignedScheme As Outlook2007ColorScheme = Me.ultraMonthViewSingle1.ActiveOwner.Outlook2007ColorScheme
                If Not currentlyAssignedScheme Is Nothing AndAlso Not currentlyAssignedScheme.BaseColor.Equals(selectedColorScheme.BaseColor) Then
                    result = MessageBox.Show(Me, "The color scheme you selected is currently reserved. Do you want to assign it anyway?", "Assign Color Scheme", MessageBoxButtons.YesNo)
                End If

            End If

            '	Assign the color scheme to the Owner's Outlook2007ColorScheme property,
            '	and mark it as unavailable
            If (result = DialogResult.Yes) Then
                Me.ultraMonthViewSingle1.ActiveOwner.Outlook2007ColorScheme = selectedColorScheme
            End If

        End If

    End Sub
using Infragistics.Win;
using Infragistics.Win.UltraWinSchedule;
using Infragistics.Win.UltraWinEditors;
using System.Diagnostics;

		private void button1_Click(object sender, System.EventArgs e)
		{
			//	Set the UltraMonthViewSingle control up to separate owners
			this.ultraMonthViewSingle1.OwnerDisplayStyle = OwnerDisplayStyle.Separate;
			this.ultraMonthViewSingle1.ActiveOwner = this.ultraCalendarInfo1.Owners.UnassignedOwner;
			this.ultraMonthViewSingle1.CalendarLook.ViewStyle = ViewStyle.Office2007;

			//	Reserve the color schemes which correspond to the Office2007 color schemes
			Outlook2007ColorSchemeCollection colorSchemes = this.ultraCalendarLook1.Outlook2007ColorSchemes;
			this.ultraMonthViewSingle1.CalendarLook.Outlook2007ColorSchemes.DisallowAutoAssignment( colorSchemes.BaseColorBlue );
			this.ultraMonthViewSingle1.CalendarLook.Outlook2007ColorSchemes.DisallowAutoAssignment( colorSchemes.BaseColorBlack );
			this.ultraMonthViewSingle1.CalendarLook.Outlook2007ColorSchemes.DisallowAutoAssignment( colorSchemes.BaseColorSilver );

			//	Create a new instance of the Outlook2007ColorSchemeDropDown
			//	(see code sample included with the Outlook2007ColorScheme class help topic) 
			Outlook2007ColorSchemeDropDown dropDown = new Outlook2007ColorSchemeDropDown( this, this.ultraCalendarLook1 );

			//	Hook the SelectionChangeCommitted event
			dropDown.SelectionChangeCommitted += new EventHandler( this.Outlook2007ColorSchemeDropDown_SelectionChangeCommitted );
		}

		private void Outlook2007ColorSchemeDropDown_SelectionChangeCommitted( object sender, EventArgs e )
		{
			Outlook2007ColorSchemeDropDown dropDown = sender as Outlook2007ColorSchemeDropDown;
			if ( this.ultraMonthViewSingle1.ActiveOwner != null )
			{
				//	Get a reference to the Outlook2007ColorScheme that was selected by the end user.
				Outlook2007ColorScheme selectedColorScheme = dropDown.SelectedColorScheme;
				UltraCalendarLook calendarLook = dropDown.CalendarLook;
				Outlook2007ColorSchemeCollection colorSchemes = calendarLook.Outlook2007ColorSchemes;

				//	If the color scheme is reserved, and not assigned to this owner, prompt the end user
				DialogResult result = DialogResult.Yes;
				if ( colorSchemes.IsAvailableForAutoAssignment(selectedColorScheme.BaseColor) == false )
				{
					Outlook2007ColorScheme currentlyAssignedScheme = this.ultraMonthViewSingle1.ActiveOwner.Outlook2007ColorScheme;
					if ( currentlyAssignedScheme != null &&
						 currentlyAssignedScheme.BaseColor != selectedColorScheme.BaseColor )
						result = MessageBox.Show( this, "The color scheme you selected is currently reserved. Do you want to assign it anyway?", "Assign Color Scheme", MessageBoxButtons.YesNo );
				}

				//	Assign the color scheme to the Owner's Outlook2007ColorScheme property,
				//	and mark it as unavailable
				if ( result == DialogResult.Yes )
					this.ultraMonthViewSingle1.ActiveOwner.Outlook2007ColorScheme = selectedColorScheme;
			}
		}
参照