A: 

To remove the warnings add the following attributes so that the class, method and property look like this:

<CLSCompliant(False)> _
Public MustInherit Class Fields
    Inherits System.Web.UI.UserControl

    <CLSCompliant(False)> _
    Public Property State() As Enumerators.FormState
        Get
            Return _State
        End Get

        Set(ByVal value As Enumerators.FormState)
            _State = value
            ToggleState(value)
        End Set
    End Property

    <CLSCompliant(False)> _
    Protected MustOverride Sub ToggleState(ByVal state As FormState)
End Class

This signifies to the compiler that you want the warnings removed and that you're aware your code is not CLSCompliant.

Gavin Miller
It is not just a warning! You are actually telling the code it cannot run in medium trust or anywhere else that CLSCompliance is required. Many security scanners for running an app would prevent it from even loading because of that attribute being set.
Jason Short
A: 

Is _State private?
Is your whole ASSEMBLY tagged with the CLSCompliant attribute?

Other than that, your code looks pretty valid as far as CLS compliance goes.

Dave Markle
_State is private - That's the part that baffles me, everything else is CLS compliant up until this point.
Gavin Miller
+4  A: 

Looking at your code, the enum seems to be part of a class called enumerators. The class is not listed in your code, but I'm assuming that you have full control over it.

The class needs to be tagged with the CLS compliant attribute as well.

Renze de Waal
A: 

It could be that you do not have an item with value 0.

test