Посоветуйте пожалуйста как в MVS 2005 используюя C# реализовать работу нескольких окон, пытался писать по книге для 2003 -не подходит.
В упрощенном виде:
есть форма1.в этой форме при нажатии кнопки-выводится форма2.
заранее спасибо.
[Ответ]
X0R 20:38 18.10.2008
Код:
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Show();
}
Андрейка насчет visible не пойдет т.к действует в пределах формы.
AIM-9M насчет show по логике должно работать,но как ?простое:
имяФормы.ActiveForm.Show(); не пройдет,
и что если понадобиться передать значение какой либо переменной при вызове другого окна?
[Ответ]
Ivan XXX 21:47 20.10.2008
не знаю как на c#, но на c++ никаких проблем возникнуть не должно. неужели c# настолько от с++ отличается?
указатель на фторую форму объявляется в описании класса первой формы. когда надо показать или еще что со второй формой сделать из функций первой, то пишется просто "указатель_на_вторую_форму -> имя_функции_второй_формы"
передать значение тоже проблем никаких вызывать не должно. в описании класса второй формы заводятся нужные переменные и с помощью публичных функций, как написано выше, из первой формы передаются значения во вторую. например:
pForm2 -> setValueInt ( 10 );
[Ответ]
Ivan XXX 17:47 22.10.2008
ну и кудаже шарпщики делись? хотелось бы посмотреть как оно там в шарпе-то?
[Ответ]
X0R 18:32 22.10.2008
Program.cs
Код:
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
f2 = new Form2();
Application.Run(new Form1());
}
internal static Form2 f2;
}
Возьму на проработку,буду пробовать.БОЛЬШОЕ пасибо.
[Ответ]
ant0n 12:29 26.02.2009
Получилось, но есть вопрос.
Когда мы с Form1 нажимаем кнопку показать Form2, она выводится, но если переключиться на Form1 и снова нажать кнопку показа, она не выводится..
Возможно в этом случае нужно дейсвовать другими методами?
XOR подскажи,на простейшем примере,как быть с передачей значений от формы к форме?
[Ответ]