//update the controller color for each of the items void SetControllerDotColor(Label dot, int controller) { if (!ControllerWork.IsControllerConnected(controller)) { dot.ForeColor = Color.Gray; } else if (ControlState.GetControllerEnabled(controller)) { dot.ForeColor = Color.Green; } else { dot.ForeColor = Color.Gray; } }
//when the application loads protected override void OnLoad(EventArgs e) { base.OnLoad(e); //hide the window and the taskbar icon Visible = false; ShowInTaskbar = false; //run the controller code bool run = true; Thread t = new Thread( delegate() { while (run) { ControllerWork.Update(); KeyboardWork.Update(); Thread.Sleep(1000 / 60); } } ); t.SetApartmentState(ApartmentState.STA); t.Start(); //run the loop here while (!this.IsDisposed) { if (ControlState.GetSystemEnabled()) { _icon.Icon = XMouse.Properties.Resources.trayIcon_sm_enabled; } else { _icon.Icon = XMouse.Properties.Resources.trayIcon_sm_disabled; } //allow the form app to call it events Application.DoEvents(); Thread.Sleep(200); } //stop the thread run = false; }