コード例 #1
0
        private void tryApplyTones(IEnumerable <Tone> tones)
        {
            if (tones != null && tones.Count() != 0)
            {
                try
                {
                    ignorePlayingFlag++;
                    try
                    {
                        ignoreMetroComboBoxTimbres_SelectedIndexChanged = true;

                        for (int i = 0; i < tones.Count(); i++)
                        {
                            if (i >= metroComboBoxTimbres.Items.Count)
                            {
                                break;
                            }
                            TimbreItem ti = (TimbreItem)metroComboBoxTimbres.Items[i];
                            this.Timbre   = ti.Timbre;
                            this.TimbreNo = ti.Number;
                            ApplyTone(ti.Timbre, tones.ElementAt(i));
                            metroComboBoxTimbres.Items[i] = new TimbreItem(ti.Timbre, i);
                        }

                        metroComboBoxTimbres.SelectedIndex = 0;
                    }
                    finally
                    {
                        ignoreMetroComboBoxTimbres_SelectedIndexChanged = false;
                    }
                    metroComboBoxTimbres_SelectedIndexChanged(null, null);
                    metroComboBoxTimbres.Invalidate();
                }
                finally
                {
                    ignorePlayingFlag--;
                }
            }
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void metroComboBoxTimbres_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ignoreMetroComboBoxTimbres_SelectedIndexChanged)
            {
                return;
            }

            TimbreItem ti = (TimbreItem)metroComboBoxTimbres.Items[metroComboBoxTimbres.SelectedIndex];

            this.Timbre   = ti.Timbre;
            this.TimbreNo = ti.Number;

            try
            {
                ignorePlayingFlag++;
                ApplyTimbre(ti.Timbre);
            }
            finally
            {
                ignorePlayingFlag--;
            }
            Control_ValueChanged(this, null);
        }