Esempio n. 1
0
        private void connectBtn_Click(object sender, EventArgs e)
        {
            new Thread(() => {
                switch (connectBtn.Text)
                {
                // собираемся подключаться
                case connectText:
                    status.Invoke(new Action(() => status.Items[0].Text = "Подключение к " + deviceCombo.Items[deviceCombo.SelectedIndex]));

                    enablingComponents(false, deviceCombo, connectBtn, scanBtn);

                    // пытаемся открыть порт
                    if (myBt.open())
                    {
                        // меняем текст кнопки на "Отключиться"
                        connectBtn.Invoke(new Action(() => connectBtn.Text = disconnectText));

                        // возвращаем кнопке подключения доступность
                        enablingComponents(true, connectBtn);

                        lightShow.Start();
                    }
                    else
                    {
                        enablingComponents(true, deviceCombo, connectBtn, scanBtn);
                    }

                    status.Invoke(new Action(() => status.Items[0].Text = ""));
                    break;

                // собираемся отключаться
                case disconnectText:
                    // меняем текст кнопки на "Подключиться"
                    connectBtn.Invoke(new Action(() => connectBtn.Text = connectText));

                    // возвращаем кнопке подключения доступность
                    enablingComponents(true, deviceCombo, scanBtn);

                    // останавливаем обработку цветомузыки
                    lightShow.Stop();
                    // закрываем соединение с устройством
                    myBt.close();
                    break;
                }

                // TODO: другой поток!
                ActiveControl = spectrumChart;
            }).Start();
        }
Esempio n. 2
0
        private void MainForm_KeyDown(object sender, KeyEventArgs e)
        {
            e.SuppressKeyPress = true;

            if (e.KeyData == Keys.S)
            {
                int channelsNumber = Settings.Default.channelsNumber;

                new SettingsForm().ShowDialog();

                TopMost = Settings.Default.topMost;

                coloringComponents();

                if (channelsNumber != Settings.Default.channelsNumber)
                {
                    for (int i = 0; i < 4; i++)
                    {
                        tbValues[0, i] = tbValues[1, i] = 0;
                    }

                    if (connectBtn.Text == disconnectText)
                    {
                        lightShow.Stop();
                    }

                    TrackBar[] bars = trackInit();

                    lightShow = new LightShow(myBt, spectrumChart, bars, fadeCheckBox, barsCheckBox, lightCheckBox);

                    if (connectBtn.Text == disconnectText)
                    {
                        lightShow.Start();
                    }
                }

                e.Handled = true;
            }
        }