バージョン

UltraWeekViewAction 列挙体

Infragistics.Win.UltraWinSchedule.UltraWeekView コントロールに対して実行可能なアクションを列挙します。
シンタックス
'宣言
 
Public Enum UltraWeekViewAction 
   Inherits System.Enum
public enum UltraWeekViewAction : System.Enum 
メンバ
メンバ解説
AddNewAppointmentInfragistics.Win.UltraWinSchedule.AppointmentInfragistics.Win.UltraWinSchedule.UltraCalendarInfo.ActiveDay に追加して、新しい Infragistics.Win.UltraWinSchedule.Appointment で EnterEditMode アクションを実行します。

DayToTheLeftSystem.DayOfWeek プロパティが現在の Day と同じ前の System.Windows.Forms.Day にナビゲートします。

ターゲットの System.Windows.Forms.DayInfragistics.Win.UltraWinSchedule.Day.Enabled であることに注意してください。
DayToTheRightSystem.DayOfWeek プロパティが現在の Day と同じ次の System.Windows.Forms.Day にナビゲートします。

ターゲットの System.Windows.Forms.DayInfragistics.Win.UltraWinSchedule.Day.Enabled であることに注意してください。
DisplayAppointmentDialogInfragistics.Win.UltraWinSchedule.AppointmentDialog を表示します。

このアクションを成功させるために少なくともひとつの Infragistics.Win.UltraWinSchedule.Appointment が選択されている必要があることに注意してください。
EnterEditMode現在選択されているアクティビティ (Infragistics.Win.UltraWinSchedule.AppointmentまたはInfragistics.Win.UltraWinSchedule.Note) を編集モードにします (エディターを表示します)。

このアクションの必要な状態は選択されているアクティビティがひとつだけであることに注意してください。

Infragistics.Win.UltraWinSchedule.Holiday はユーザーインターフェイスを使用して編集できないため、このアクションでは無視されます。
ExitEditModeAndCancelChanges編集モードを終了し、ユーザーが行った変更を破棄します。

このアクションの必要な状態はコントロールが編集モードであることに注意してください。

Infragistics.Win.UltraWinSchedule.Holiday はユーザーインターフェイスを使用して編集できないため、このアクションでは無視されます。
ExitEditModeAndSaveChanges編集モードを終了して、関連付けられたアクティビティ (Infragistics.Win.UltraWinSchedule.Appointment または Infragistics.Win.UltraWinSchedule.Note)にユーザーによって行われた変更をコミットします。

このアクションの必要な状態はコントロールが編集モードであることに注意してください。

Infragistics.Win.UltraWinSchedule.Holiday はユーザーインターフェイスを使用して編集できないため、このアクションでは無視されます。
FirstDayInWeek現在の Infragistics.Win.UltraWinSchedule.Week にある最初の System.Windows.Forms.Day にナビゲートします。

ターゲットの System.Windows.Forms.DayInfragistics.Win.UltraWinSchedule.Day.Enabled であることに注意してください。
LastDayInWeek現在の Infragistics.Win.UltraWinSchedule.Week にある最後の System.Windows.Forms.Day にナビゲートします。

ターゲットの System.Windows.Forms.DayInfragistics.Win.UltraWinSchedule.Day.Enabled であることに注意してください。
NextActivityByTabSystem.Windows.Forms.Keys.Tab キーを介して次のアクティビティ (Infragistics.Win.UltraWinSchedule.Appointment または Infragistics.Win.UltraWinSchedule.Note) にナビゲートし、エディターを表示します。

Infragistics.Win.UltraWinSchedule.Holiday はユーザーインターフェイスを使用して編集できないため、このアクションでは無視されます。
NextDayInfragistics.Win.UltraWinSchedule.Day.Enabled プロパティが True の次の System.Windows.Forms.Day にナビゲートします。
PreviousActivityByTabSystem.Windows.Forms.Keys.Shift + System.Windows.Forms.Keys.Tab キーを組み合わせて前のアクティビティ (Infragistics.Win.UltraWinSchedule.Appointment または Infragistics.Win.UltraWinSchedule.Note) にナビゲートし、エディターを表示します。

Infragistics.Win.UltraWinSchedule.Holiday はユーザーインターフェイスを使用して編集できないため、このアクションでは無視されます。
PreviousDayInfragistics.Win.UltraWinSchedule.Day.Enabled プロパティが True の前の System.Windows.Forms.Day にナビゲートします。
RemoveSelectedActivitiesそれぞれのコレクションから選択したすべてのアクティビティ (Infragistics.Win.UltraWinSchedule.Appointment および Infragistics.Win.UltraWinSchedule.Note の両方またはいずれか一方) を削除します。

Infragistics.Win.UltraWinSchedule.Holiday は選択できません。このような場合、このアクションによって決して影響されません。
ScrollDownByLargeChangeコントロールの Infragistics.Win.UltraWinSchedule.UltraWeekView.ScrollChangeLarge プロパティによって指定された週の数だけコントロールを下にスクロールします。
ScrollUpByLargeChangeコントロールの Infragistics.Win.UltraWinSchedule.UltraWeekView.ScrollChangeLarge プロパティによって指定された週の数だけコントロールを上にスクロールします。
ToggleDaySelectionInfragistics.Win.UltraWinSchedule.UltraCalendarInfo.ActiveDayInfragistics.Win.UltraWinSchedule.Day.Selected の状態を切り替えます。
使用例
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinSchedule
Imports Infragistics.Win.UltraWinSchedule.WeekView

    Private Sub CustomizeKeyActionMappings()

        '	新しい KeyActionMapping オブジェクトを作成し、コントロールの
        '	KeyActionMappings コレクションに追加します新しい KeyActionMapping オブジェクトで
        '	以下のプロパティを設定します:
        '
        '	KeyCode = F2
        '	ActionCode = ExitEditModeAndSaveChanges
        '	StateDisallowed = 0 (許可されていない状態なし)
        '	StateRequired = ActivityInEditMode
        '	SpecialKeysDisallowed = All (Alt、Ctrl、または Shift が押された場合、操作を無効にする)
        '	SpecialKeysRequired = 0 (操作を実行するために特別なキーを押す必要なし)
        '
        Dim keyToMap As Keys = Keys.F2

        Dim keyMappingToAdd As New KeyActionMapping(keyToMap, UltraWeekViewAction.ExitEditModeAndSaveChanges, 0, UltraWeekViewState.ActivityInEditMode, SpecialKeys.All, 0)

        '	コレクションに追加する前に、追加するかどうかを確認するために、
        '	KeyActionMapping プロパティを表示する MessageBox を表示します
        Dim msg As String = "The following KeyActionMapping will be added to the KeyActionMappings collection:" + vbCrLf + vbCrLf
        msg += "The keystoke the action will respond to is: " + keyMappingToAdd.KeyCode.ToString() + vbCrLf
        msg += "The action that will be performed when the key is pressed is: " + keyMappingToAdd.ActionCode.ToString() + vbCrLf
        msg += "The disallowed state for the action is (zero indicates no disallowed state): " + keyMappingToAdd.StateDisallowed.ToString() + vbCrLf
        msg += "The required state for the action is (zero indicates no required state): " + keyMappingToAdd.StateRequired.ToString() + vbCrLf
        msg += "The action will not be performed if any of the following special keys are pressed (zero indicates no special keys are disallowed): " + keyMappingToAdd.SpecialKeysDisallowed.ToString() + vbCrLf
        msg += "The action will only be performed if all of the following special keys are pressed (zero indicates no special keys are required): " + keyMappingToAdd.SpecialKeysRequired.ToString() + vbCrLf
        msg += vbCrLf + "Are you sure you want to add the custom KeyActionMapping?" + vbCrLf

        '	メッセージ ボックスを表示します
        Dim result As DialogResult = MessageBox.Show(msg, "Add KeyActionMapping", MessageBoxButtons.YesNo)

        '	ユーザーが [いいえ] を押すと、デフォルトの KeyActionMappings を変更せずに返します
        If result = DialogResult.No Then Return

        '	KeyActionMapping をコントロールの KeyActionMappings コレクションに追加する前に、そのキーストロークの既存のマッピングを削除するかどうかを確認します
        '			
        '	KeyActionMappings コレクションに繰り返し、特定のキーストロークの既存のマッピングの数を取得します
        '
        '	このコレクションを繰り返すときに、削除するかどうかを
        '	決定するため、ユーザーに表示するために、特定の
        '	キーストロークにマップした操作をリストする文字列を作成します
        Dim count As Integer = 0
        Dim mapList As String = String.Empty
        Dim keyMapping As KeyActionMapping
        For Each keyMapping In Me.ultraWeekView.KeyActionMappings
            If keyMapping.KeyCode = keyToMap Then
                count += 1
                mapList += keyMapping.ActionCode.ToString() + vbCrLf
            End If
        Next

        '	マップした操作がない場合、ユーザーにメッセージを表示する
        '	必要がないため、カスタム マッピングを追加して返します
        If count = 0 Then
            Me.ultraWeekView.KeyActionMappings.Add(keyMappingToAdd)
            '	テストするために予定を追加します
            Me.ultraWeekView.CalendarInfo.Appointments.Add(DateTime.Now, DateTime.Now.AddMinutes(30), "My Appointment")
            Return
        End If

        '	削除するかどうかを決定するために、ユーザーに既存のマッピングについて通知します
        msg = "The KeyActionMappings collection already contains the following mappings for " + keyToMap.ToString() + ":" + vbCrLf + vbCrLf
        msg += mapList + vbCrLf
        msg += "Do you want to remove the existing mappings for " + keyToMap.ToString() + "?"

        '	メッセージ ボックスを表示します
        result = MessageBox.Show(msg, "Remove existing KeyActionMappings", MessageBoxButtons.YesNo, MessageBoxIcon.Information)

        '	ユーザーは [いいえ] を押すと、既存の KeyActionMappings コレクションを変更せずに返します
        If result = DialogResult.No Then
            Me.ultraWeekView.KeyActionMappings.Add(keyMappingToAdd)
            '	テスト用に予定を追加します
            Me.ultraWeekView.CalendarInfo.Appointments.Add(DateTime.Now, DateTime.Now.AddMinutes(30.0F), "My Appointment")
            Return
        End If

        '	マップするキーに設定した KeyCode プロパティを持つすべての KeyActionMappings を削除します
        For Each keyMapping In Me.ultraWeekView.KeyActionMappings
            If keyMapping.KeyCode = keyToMap Then Me.ultraWeekView.KeyActionMappings.Remove(keyMapping)
        Next

        '	カスタム マッピングを追加します
        Me.ultraWeekView.KeyActionMappings.Add(keyMappingToAdd)

        '	他のマッピングがすべて削除されたことをユーザーに通知します
        msg = "All existing mappings for " + keyToMap.ToString() + " successfully removed." + vbCrLf
        MessageBox.Show(msg, "Remove existing KeyActionMappings", MessageBoxButtons.OK)

        '	テスト用に予定を追加します
        Me.ultraWeekView.CalendarInfo.Appointments.Add(DateTime.Now, DateTime.Now.AddMinutes(30.0F), "My Appointment")

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

		private void CustomizeKeyActionMappings()
		{

			//	新しい KeyActionMapping オブジェクトを作成し、コントロールの
			//	KeyActionMappings コレクションに追加します新しい KeyActionMapping オブジェクトで
			//	以下のプロパティを設定します:
			//
			//	KeyCode = F2
			//	ActionCode = ExitEditModeAndSaveChanges
			//	StateDisallowed = 0 (許可されていない状態なし)
			//	StateRequired = ActivityInEditMode
			//	SpecialKeysDisallowed = All (Alt、Ctrl、または Shift が押された場合、操作を無効にする)
			//	SpecialKeysRequired = 0 (操作を実行するには、特別なキーを押す必要がない)
			//
			Keys keyToMap = Keys.F2;
			KeyActionMapping keyMappingToAdd =
				new KeyActionMapping( keyToMap,	//	KeyCode
												 UltraWeekViewAction.ExitEditModeAndSaveChanges,		//	ActionCode
												 0,		//	StateDisallowed
												 UltraWeekViewState.ActivityInEditMode,		//	StateRequired
												 SpecialKeys.All,	//	SpecialKeysDisallowed
												 0 		//	SpecialKeysRequired
												);
			
			//	コレクションに追加する前に、追加するかどうかを確認するために、
			//	KeyActionMapping プロパティを表示する MessageBox を表示します
			string msg = "The following KeyActionMapping will be added to the KeyActionMappings collection:\n\n";
			msg += "The keystoke the action will respond to is: " + keyMappingToAdd.KeyCode.ToString() + "\n";
			msg += "The action that will be performed when the key is pressed is: " + keyMappingToAdd.ActionCode.ToString() + "\n";
			msg += "The disallowed state for the action is (zero indicates no disallowed state): " + keyMappingToAdd.StateDisallowed.ToString() + "\n";
			msg += "The required state for the action is (zero indicates no required state): " + keyMappingToAdd.StateRequired.ToString() + "\n";
			msg += "The action will not be performed if any of the following special keys are pressed (zero indicates no special keys are disallowed): " + keyMappingToAdd.SpecialKeysDisallowed.ToString() + "\n";
			msg += "The action will only be performed if all of the following special keys are pressed (zero indicates no special keys are required): " + keyMappingToAdd.SpecialKeysRequired.ToString() + "\n";
			msg += "\nAre you sure you want to add the custom KeyActionMapping?\n";

			//	メッセージ ボックスを表示します
			DialogResult result = MessageBox.Show( msg, "Add KeyActionMapping", MessageBoxButtons.YesNo );

			//	ユーザーが [いいえ] を押すと、デフォルトの KeyActionMappings を変更せずに返します
			if ( result == DialogResult.No )
				return;

			//	KeyActionMapping をコントロールの KeyActionMappings コレクションに追加する前に、そのキーストロークの既存のマッピングを削除するかどうかを確認します
			//	KeyActionMappings コレクションを繰り返し処理し、特定のキーストロークの既存のマッピングの数を取得します
			//	このコレクションを繰り返し処理する場合に、削除するかどうかを決定するため、ユーザーに表示するための特定のキーストロークにマップした操作をリストする文字列を作成します
			int count = 0;
			string mapList = string.Empty;
			foreach( KeyActionMapping keyMapping in this.ultraWeekView.KeyActionMappings )
			{
				if ( keyMapping.KeyCode == keyToMap )
				{
					count ++;
					mapList += keyMapping.ActionCode.ToString() + "\n";

				}
			}

			//	マップした操作がない場合、ユーザーにメッセージを表示する
			//	必要がないため、カスタム マッピングを追加して返します
			if ( count == 0 )
			{
				this.ultraWeekView.KeyActionMappings.Add( keyMappingToAdd );
				//	テスト用に予定を追加します
				this.ultraWeekView.CalendarInfo.Appointments.Add( DateTime.Now, DateTime.Now.AddMinutes( 30.0F ), "My Appointment" );
				return;
			}

			//	削除するかどうかを決定するために、ユーザーに既存のマッピングについて通知します
			msg = "The KeyActionMappings collection already contains the following mappings for " + keyToMap.ToString() + ":\n\n";
			msg += mapList + "\n";
			msg += "Do you want to remove the existing mappings for " + keyToMap.ToString() + "?";

			//	メッセージ ボックスを表示します
			result = MessageBox.Show( msg, "Remove existing KeyActionMappings", MessageBoxButtons.YesNo, MessageBoxIcon.Information );

			//	ユーザーは [いいえ] を押すと、既存の KeyActionMappings コレクションを変更せずに返します
			if ( result == DialogResult.No )
			{
				this.ultraWeekView.KeyActionMappings.Add( keyMappingToAdd );
				//	テスト用に予定を追加します
				this.ultraWeekView.CalendarInfo.Appointments.Add( DateTime.Now, DateTime.Now.AddMinutes( 30.0F ), "My Appointment" );
				return;
			}

			//	マップするキーに設定した KeyCode プロパティを持つすべての KeyActionMappings を削除します
			foreach( KeyActionMapping keyMapping in this.ultraWeekView.KeyActionMappings )
			{
				if ( keyMapping.KeyCode == keyToMap )
					this.ultraWeekView.KeyActionMappings.Remove( keyMapping );
			}

			//	カスタム マッピングを追加します
			this.ultraWeekView.KeyActionMappings.Add( keyMappingToAdd );

			//	他のマッピングがすべて削除されたことをユーザーに通知します
			msg = "All existing mappings for " + keyToMap.ToString() + " successfully removed.\n";
			MessageBox.Show( msg, "Remove existing KeyActionMappings", MessageBoxButtons.OK );

			//	テスト用に予定を追加します
			this.ultraWeekView.CalendarInfo.Appointments.Add( DateTime.Now, DateTime.Now.AddMinutes( 30.0F ), "My Appointment" );

		}
参照