'宣言 Public Enum UltraWeekViewState Inherits System.Enum
public enum UltraWeekViewState : System.Enum
Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports Infragistics.Win.UltraWinSchedule.WeekView Private Sub GetCurrentState() '-------------------------------------------------------------------------------- ' CurrentState ' ' この例は、メッセージ ボックスでコントロールの状態についての ' 情報を表示します '-------------------------------------------------------------------------------- Dim info As String = "The control is in the following state(s):" + vbCrLf + vbCrLf ' コントロールは 1 つ以上の状態が可能ため、 ' CurrentState プロパティはビット フラグで ' 表されます各繰り返しで相対する状態の値を保存して、 ' 設定したビットがなくなるまで設定した各ビットを削除します Dim state As Long = Me.ultraWeekView.CurrentState Dim mask As Long = 1 While (state > 0) ' マスクの現在の値に相対するビットが設定されるかどうかを確認します ' 設定されている場合、その状態の列挙体の名前を取得します If ((state And mask) <> 0) Then Dim comboState As UltraWeekViewState = mask info += comboState.ToString() + vbCrLf ' この while ループを終了する条件を保存するために、このビットを削除します state = state And (Not mask) End If ' 次の 2 のべき乗に設定するにはマスクを 2 で乗算します ' 確認するビット位置を 1 つ右へ ' 移動します mask *= 2 End While ' 状態情報をメッセージ ボックスに表示します MessageBox.Show(info, "GetCurrentState", MessageBoxButtons.OK) End Sub
using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; using Infragistics.Win.UltraWinSchedule.WeekView; using System.Diagnostics; private void GetCurrentState() { //-------------------------------------------------------------------------------- // CurrentState // // この例は、メッセージ ボックスでコントロールの状態についての // 情報を表示します //-------------------------------------------------------------------------------- string info = "The control is in the following state(s):" + "\n" + "\n"; // コントロールは 1 つ以上の状態が可能ため、 // CurrentState プロパティはビット フラグで // 表されます各繰り返しで相対する状態の値を保存して、 // 設定したビットがなくなるまで設定した各ビットを削除します long state = (long)this.ultraWeekView.CurrentState; long mask = 1; while ( state > 0 ) { // マスクの現在の値に相対するビットが設定されるかどうかを確認します // 設定された場合、その状態の列挙体の名前を取得します if ( ( state & mask ) != 0 ) { UltraWeekViewState comboState = (UltraWeekViewState)( mask ); info += comboState.ToString() + "\n"; // この while ループを終了する条件を保存するために、このビットを削除します state &= ~mask; } // 次の 2 のべき乗に設定するにはマスクを 2 で乗算します // 確認するビット位置を 1 つ右へ // 移動します mask *= 2; } // 状態情報をメッセージ ボックスに表示します MessageBox.Show( info, "GetCurrentState", MessageBoxButtons.OK ); }