コード例 #1
0
ファイル: MainForm.cs プロジェクト: radtek/minisqlquery
        /// <summary>The load up connections.</summary>
        private void LoadUpConnections()
        {
            DbConnectionDefinitionList definitionList = _settings.GetConnectionDefinitions();

            if (_initialized) // if initialized, just sync the lists
            {
                // add missing
                foreach (var connDef in definitionList.Definitions)
                {
                    if (!toolStripComboBoxConnection.Items.Contains(connDef))
                    {
                        toolStripComboBoxConnection.Items.Add(connDef);
                    }
                }

                // remove if missing
                var defList = new List <DbConnectionDefinition>(definitionList.Definitions);
                for (int i = toolStripComboBoxConnection.Items.Count - 1; i >= 0; i--)
                {
                    var connDef = (DbConnectionDefinition)toolStripComboBoxConnection.Items[i];
                    if (!defList.Contains(connDef))
                    {
                        toolStripComboBoxConnection.Items.RemoveAt(i);
                    }
                }
            }
            else
            {
                // first populate
                toolStripComboBoxConnection.Items.Clear();
                foreach (var connDef in definitionList.Definitions)
                {
                    toolStripComboBoxConnection.Items.Add(connDef);
                }
            }

            // Bug fix - don't automatically refresh as it can try to reconnect to a connection you don't have etc.
            //foreach (var connDef in definitionList.Definitions)
            //{
            //    if (connDef.Name == Settings.Default.NammedConnection)
            //    {
            //        toolStripComboBoxConnection.SelectedItem = connDef;
            //        _settings.ConnectionDefinition = connDef;
            //        SetWindowTitle(connDef.Name);
            //    }
            //}
        }