One thing to be aware of is that you are not really using C#, you are using .NET.
Yes, this is an important thing to realise. Knowing the
language of C# (i.e. syntax, concepts, etc.) does not get you very far. If you are developing desktop apps, 90% of it is dealing with the .Net Framework, so knowing what it provides for you is key.
As to your particular question about Start.Capture = false, I would guess without looking it up that it sets the capture state of the Start button to off so that it no longer responds to mouse clicks. In other words, when Capture is set to false, clicking on the Start button will no longer have any effect. You can look this up to confirm: look up information about the Button control in Forms.
If that's what they're trying to accomplish - preventing the button being clicked again until the flashing is stopped (presumably there is another counterpart 'Stop' button) - then using the
Capture property is a funny way to do it. It would be best done by simply disabling the button by setting the
Enabled property to false. This will make it so the button does not respond to user input, and also importantly, shows some visual feedback that the button is disabled by greying it out.
Something tells me this code example from whatever tutorial OP is following was written by someone not very familiar with the .Net Framework, or someone trying to apply paradigms from other platforms. I mean, a more sensible method of creating something that performs an action at a repeating interval would be to use a
Timer object. Then you'd put your
ledon(),
ledoff() in the
Tick() event handler, and have the Start/Stop buttons just call the
Start() and
Stop() methods of the timer.