1) передать данные BankAccountCollection account
На самом деле 5 способов для передачи данных.
1- (Не рекомендуется, если параметров слишком много). Передача данных через конструктор.
private void ShowForm(int a, string b, double c)
{
Form2 frm = new Form2(a, b, c);
frm.ShowDialog();
}
2- Использование открытых полей целевого класса. (НЕ РЕКОМЕНДУЕТСЯ ВСЕ)
private void ShowForm(int a, string b, double c)
{
Form2 frm = new Form2();
frm.intval = a;
frm.strval = b;
frm.doubleval = c;
frm.ShowDialog();
}
3- Использование свойств.
private void ShowForm(int a, string b, double c)
{
Form2 frm = new Form2();
frm.IntValue = a;
frm.StringValue = b;
frm.DoubleValue = c;
frm.ShowDialog();
}
4- Использование тегов.
private void ShowForm(int a, string b, double c)
{
Form2 frm = new Form2();
frm.SomeTextBox.Tag = a;
frm.SomeTextBox2.Tag = b;
frm.SomeTextBox3.Tag = c;
frm.ShowDialog();
}
5- Использование делегатов. (Это немного сложно).
//in Form2
public delegate void PassValues(int a, string b, double c);
public PassValues passVals;
private void PassDataThroughDelegate(int a, string b, double c)
{
if(passVals != null)
passVals(a,b,c);
}
//in Form1
private void ShowForm(int a, string b, double c)
{
Form2 frm = new Form2();
frm.passVals = new Form2.PassValues(UseData);
frm.ShowDialog();
}
private void UseData(int a, string b, double c)
{
}
Мои личные любимые объекты - это свойства, делегаты и в некоторых редких случаях конструкторы.
Кроме того, вы можете создать статический класс, добавить в него некоторые свойства, а затем использовать его в других формах.
Это действительно полезно, если все ваши формы должны обмениваться некоторой информацией. Поскольку это не способ передачи данных между формами, я не упомянул этот метод в приведенных выше.
2) заполнить этот comboBox членами этого
BankAccountCollection
Как только вы передали данные между формами, использовать их для заполнения несложно.
foreach(BankAccount acc in accounts)
combobox1.Items.Add(acc.ToString());
3) отобразить эту коллекцию как элементы в списке?
Вы можете использовать обработчик событий для combobox1, чтобы делать с выбранным элементом все, что вы хотите.
Надеюсь, это поможет.