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