'Declaration Public Enum MonthViewMultiState Inherits System.Enum
public enum MonthViewMultiState : System.Enum
Member | Description |
---|---|
ActiveDay | There is an active day. |
MonthPopupDisplayed | The Month popup window is currently displayed. |
VisibleMonths | There is at least one visible month displayed. |
Private Sub GetCurrentState() Dim info As String = "The control is in the following state(s):" + vbcrlf + vbcrlf ' The CurrentState property is expressed in terms of bit flags, ' since the control can be in more than one distinct state at any ' given time. We will strip each bit that is set until we are left with ' no set bits, recording the corresponding state value with each iteration. Dim state As Long = Me.ultraMonthViewMulti1.CurrentState Dim mask As Long = 1 While (state > 0) ' See if the bit that corresponds to the current value of the mask ' is set if it is, get the name of the enumeration for that state If ((state And mask) <> 0) Then Dim controlState As MonthViewMultiState = mask info += controlState.ToString() + vbcrlf End If ' Strip out the bit so we know when to exit this while loop state = state And (Not mask) ' Multiply the mask by 2 to set it to the next power of 2, ' effectively shifting the bit position we are checking one ' place to the right mask *= 2 End While ' Display the state information in a message box MessageBox.Show(info, "GetCurrentState", MessageBoxButtons.OK) End Sub
private void GetCurrentState() { string info = "The control is in the following state(s):" + "\n" + "\n"; // The CurrentState property is expressed in terms of bit flags, // since the control can be in more than one distinct state at any // given time. We will strip each bit that is set until we are left with // no set bits, recording the corresponding state value with each iteration. long state = (long)this.ultraMonthViewMulti1.CurrentState; long mask = 1; while ( state > 0 ) { // See if the bit that corresponds to the current value of the mask // is set; if it is, get the name of the enumeration for that state if ( ( state & mask ) != 0 ) { MonthViewMultiState controlState = (MonthViewMultiState)( mask ); info += controlState.ToString() + "\n"; // Strip out the bit so we know when to exit this while loop state &= ~mask; } // Multiply the mask by 2 to set it to the next power of 2, // effectively shifting the bit position we are checking one // place to the right mask *= 2; } // Display the state information in a message box MessageBox.Show( info, "GetCurrentState", MessageBoxButtons.OK ); }
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2