private void providerSelector_SelectedIndexChanged(object sender, EventArgs e) { // the newly selected item ProviderSelectorItem item = (ProviderSelectorItem)providerSelector.SelectedItem; // create an instance of the new provider if (currentProvider != null) { currentProvider.Dispose(); } currentProvider = MessageProviderFactory.Create(item.desc.id); telemetryControl.MessageProvider = currentProvider; // create a configurator for the new provider mainSplitter.Panel2.Controls.Clear(); currentConfigurator = currentProvider.GetConfigurator(); if (currentConfigurator != null) { mainSplitter.Panel2.Controls.Add(currentConfigurator); currentConfigurator.Dock = DockStyle.Fill; this.MinimumSize = new Size(Math.Max(minSizeWithName, currentConfigurator.MinimumSize.Width), 72 + currentConfigurator.MinimumSize.Height); this.Size = new Size(Width, this.MinimumSize.Height); } else { this.MinimumSize = new Size(minSizeWithName, 72); } UpdateControlState(); }