The use of !timer1.Enabled relies upon a quirk of the compiler. It is not guaranteed to work 100% of the time on all systems. Yes, it does today, but tomorrow may be another question. I have been coding since the late 70's and have worked on systems where that statement would fail.
In C# it is not a quirk of the compiler. It is a guarranteed tenet of the language.
!true == false
!false == true
Always, on all systems, for now and forever.