Как из 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) вы можете использовать нуль-условный оператор и интерполяцию строк. Подробнее о том, что было добавлено можно прочесть, например, на хабре
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть WCF-сервис, крутится на сервере на IISeОн должен логировать IP клиентов, подключившихся к нему
Проблема в том, что метод ResponseEnd вызывает исключение ThreadAbortException, которое мешает дебажить
Здравствуйте! Есть один довольно большой проект на MATLAB, который желательно перевести на С#