Пример #1
0
        /// <summary>
        /// Clicking the Start button
        /// </summary>
        private void buttonStart_Click(object sender, EventArgs e)
        {
            string musicProgramName        = textBoxMusicProgram.Text.Trim();
            string musicProgramWindowTitle = GetWindowTitleFromProcessByName(musicProgramName);
            int    musicProgramId          = GetIdFromProcessByName(musicProgramName);

            // show info about the music program
            DisplayMusicProgramInfo(musicProgramId, musicProgramName);

            // start the timer
            textBoxMusicProgram.Enabled = false;
            textBoxDelay.Enabled        = false;
            TheTimer.Interval           = ToInteger(textBoxDelay.Text.Trim());
            TheTimer.Start();
        }
Пример #2
0
        private void LoadConfiguration()
        {
            // from https://www.c-sharpcorner.com/article/four-ways-to-read-configuration-setting-in-c-sharp/
            var url                  = ConfigurationManager.AppSettings["url"];
            var currency             = ConfigurationManager.AppSettings["currency"];
            var refreshRateInSeconds = ConfigurationManager.AppSettings["refreshRateInSeconds"];

            // cb url
            cbRateURL = url + currency;

            // start the timer
            TheTimer.Interval = Convert.ToInt32(refreshRateInSeconds) * 1000;
            TheTimer.Start();

            // show the rate for the first time before the timer kicks in
            UpdateRate();
        }
Пример #3
0
        private void ToolStripButton1_Click(object sender, EventArgs e)
        {
            try
            {
                ValidateInput(out int elements, out int interval);
                Count = elements;
                //preparing
                var source      = gViewer.Entities.Select(s => s.DrawingObject).FirstOrDefault(s => s.UserData is Source <ProductBase>) as Node;
                var seed        = gViewer.Entities.Select(s => s.DrawingObject).FirstOrDefault(s => s.UserData is Seed <ProductBase>) as Node;
                var productType = _factory.CreateProduct(Convert.ToInt32((source.UserData as Source <ProductBase>).Id));

                //Updatin for new run
                ResetSS(elements, interval, source, seed, productType);
                UpdateNodes <ProductBase>(source, seed);
                _objectsSequence.Clear();
                GetSequence(source, ref _objectsSequence);
                _objectsSequence.Reverse();

                if (_objectsSequence is null || _objectsSequence.Count < 2)
                {
                    throw new ArgumentNullException("Последовательность не может быть пуста");
                }
                if (_objectsSequence.FirstOrDefault() is Source <ProductBase> == false)
                {
                    throw new ArgumentNullException("Генератор продуктов должен начинать последовательность");
                }
                if (_objectsSequence.LastOrDefault() is Seed <ProductBase> == false)
                {
                    throw new ArgumentNullException("Утилизатор продуктов должен заканчивать последовательность");
                }

                //adding connections
                for (int current = 0, next = 1; current < _objectsSequence.Count; current++, next++)
                {
                    if (next < _objectsSequence.Count)
                    {
                        _objectsSequence[next].JoinPrevious(_objectsSequence[current]);
                    }
                }

                _past                 = DateTime.Now;
                IsRunning             = true;
                propertyGrid1.Enabled = false;
                btnStart.Enabled      = false;
                btnStop.Enabled       = true;
                toolStripButtonStatisctics.Enabled = false;
                statusPanel.Text = "on";
                //run
                TheTimer.Start();
            }
            catch (ArgumentNullException nullExp)
            {
                MessageBox.Show(nullExp.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (ArgumentException argExp)
            {
                MessageBox.Show(argExp.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (Exception)
            {
                MessageBox.Show("Возникла неопределенная ошибка", "Unexpected Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }