//修改影响下载的相关控件的可用状态 private void changeEnabled(bool enabledState) { if (mainThreadID != Thread.CurrentThread.ManagedThreadId) { SetEnabled setEnabled = () => { if (backgroundOriginChoose.SelectedIndex != 0) { changeNow.Enabled = enabledState; changeTimeChoose.Enabled = enabledState; (contextMenuStrip.Items.Find("updateNow", true))[0].Enabled = enabledState; } backgroundOriginChoose.Enabled = enabledState; savePicButton.Enabled = enabledState; (contextMenuStrip.Items.Find("savePicItem", true))[0].Enabled = enabledState; }; state.Invoke(setEnabled); } else { if (backgroundOriginChoose.SelectedIndex != 0) { changeNow.Enabled = enabledState; changeTimeChoose.Enabled = enabledState; (contextMenuStrip.Items.Find("updateNow", true))[0].Enabled = enabledState; } backgroundOriginChoose.Enabled = enabledState; savePicButton.Enabled = enabledState; (contextMenuStrip.Items.Find("savePicItem", true))[0].Enabled = enabledState; } }
public static void SetControl(Form a, Control b, bool c) { if (b.InvokeRequired) { SetEnabled d = new SetEnabled(SetControl); a.Invoke(d, new object[] { a, b, c }); } else { b.Enabled = false; } }
//全屏检测计时器 private void systemStateCheckEvent(object sender, System.Timers.ElapsedEventArgs e) { systemStateCheck.Stop(); if (SystemState.isACLine() && !SystemState.isFullScreen()) { SetEnabled setEnabled = () => { if (backgroundOriginChoose.SelectedIndex == 0) { dailyTimer.Start(); } else if (backgroundOriginChoose.SelectedIndex == 1) { randTimer.Start(); } }; state.Invoke(setEnabled); return; } systemStateCheck.Start(); }