Как из 2й формы значения введеные в TexBox'ы сохранить с именем Name(TextBox) в ComboBox. И как при выборе из ComboBox эти значения перенести в connectionString?
class Connection
{
private string connectionString;
protected NpgsqlCommand command;
protected NpgsqlConnection connection;
protected NpgsqlDataReader reader;
public PostgreConnection()
{
connectionString = @"Server ="+ ServerBox.Text +
";Port="+ PortBox.Text +
";Database="+ DatabaseBox.Text +
";User ID=" + UserIDBox.Text +
";Password=" + PasswordBox.Text;
connection = new NpgsqlConnection(connectionString);
command = connection.CreateCommand();
}
}
В тех случаях когда вам нужно вернуть из второй (диалоговой) формы какую-то информацию проще всего начать с создания вспомогательного класс (или структуры). Он должен полностью описывать те данные которые вы хотите использовать в первой форме.
Конкретно в вашем случае класс может быть примерно таким:
public class ConnectionData
{
public string Server { get; set; }
public int Port { get; set; }
public string Database { get; set; }
public int ID { get; set; }
public string Password { get; set; }
public override string ToString()
{
return string.Format
("Server = {0};Port={1};Database={2};User ID={3};Password={4}",
Server, Port, Database, ID, Password);
}
}
Насчет второй части вопроса. Вы можете хранить все ваши строки для подключения в списке (подробнее о BindingList в MSDN):
BindingList<ConnectionData> list = new BindingList<ConnectionData>();
дальше в конструкторе устанавливаете его в качестве источника данных для вашего ComboBox:
//тут заполнение списка предварительными данными
comboBox1.DataSource = list;
и каждый при добавлении новых данных они будут автоматически отображаться в вашем выпадающем списке. Конкретное отображение данных в ComboBox по умолчанию зависит от того как вы переопределите метода ToString в вашем классе.
Теперь непосредственно об передачи данных со второй формы.
В диалоговой форме добавляете свойство:
public ConnectionData Connection_data { get; set; }
и при обработке клика по кнопке Save заполняете его информацией.
В первой форме вам останется только сравнить Connection_data с null:
//...
Form2 form2 = new Form2();
form2.ShowDialog();
if (form2.Connection_data != null)
list.Add(form2.Connection_data);
В новой версии C# (6.0) вы можете использовать нуль-условный оператор и интерполяцию строк. Подробнее о том, что было добавлено можно прочесть, например, на хабре
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости