Вопрос по формам в VB.NET
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Вопрос по формам в VB.NET Expand / Collapse
Автор
Сообщение
21.07.2003 15:28
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 22.07.2003 16:24
Сообщ.: 9, Visits: 100
Помогите плиз решить такую проблему!
Есть главная форма (Form1) и форма Form2! Из первой я вызываю вторую и дальше мне надо при закрытии Form2 перерисовать Form1 (дабы обновилось меню), так вот что то у меня это никак не получается...
Я пробовал уже и refresh и Update, и нифига...Как быть?
Я пробовал еще таким образом:

Application.Close
Application.Run(new Form1())

На втором операторе выкидывает ошибку...
Скажите как перезгрузить приложение?
Спасибо!
Сообщ. #789467
22.07.2003 12:47
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 10.09.2003 19:47
Сообщ.: 80, Visits: 881
Если не трудно, приведите код плз.
Сообщ. #789612
22.07.2003 13:02
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 22.07.2003 16:24
Сообщ.: 9, Visits: 100
Код ошибки?

An unhandled exception of type 'System.InvalidOperationException' occurred in system.windows.forms.dll

Additional information: It is invalid to start a second message loop on a single thread. Use Application.RunDialog or Form.ShowDialog instead.
Сообщ. #789616
22.07.2003 13:06
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 10.09.2003 19:47
Сообщ.: 80, Visits: 881
Нет...
Код программы.
Как вызываете? Чего вторая форма делает? Как рефрешите первую?
Сообщ. #789618
22.07.2003 13:24
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 22.07.2003 16:24
Сообщ.: 9, Visits: 100
Ok!
Из Form1 вызываю Form2...

Dim MyForm2 as new Form2
MyForm2.Show()

В Form2 я некие данные из TextBox-ов сохраняю в XML файл, и полный путь к файлу прописываю в файл .ini Теперь после того как я это все сделал мне надо закрыть Form2 и обновить Form1, поскольку в главном меню Form1, должен появится мой XML файлик (это типа Recent Files)...Пункты меню формируются процедуркой по OnLoad_Form1...

В коде Form2 получается так...

....
Close() 'закрываю форму 2
Dim MyForm1 as new Form1
MyForm1.Refresh()

и нифига...пробовал MyForm1.Update()
пробовал Application.Close()
Application.Run(new Form1())
...Если сделать MyForm1.show() то открывается еще один экземпляр Form1 с обновленным меню, но старый экземпляр надо как то грохнуть...

Буду признателен если научите как это все сделать по человечески...
Сообщ. #789625
22.07.2003 13:36
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 10.09.2003 19:47
Сообщ.: 80, Visits: 881
Стоп ... во первых почему Вы вызываете вторую форму не модально? (Иил так задумано?)
Во вторых Dim MyForm1 as new Form1 по моему не совсем то ... или Вы первую форму закрываете, когда вторую вызываете?
Сообщ. #789627
22.07.2003 13:42
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 22.07.2003 16:24
Сообщ.: 9, Visits: 100
Нет ну вообще то надо модально, а что есть принципиальная разница при рефреше?

При запуске второй формы первая не закрывается...не надо писать new да?
Сообщ. #789631
22.07.2003 13:54
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 10.09.2003 19:47
Сообщ.: 80, Visits: 881
Делаете так:

во второй форме объявляете переменную
public XMLFileName As String
В нее нада запихать имя файла в который вы чего-то там сохраняете.

в первой форме пишете
private sub Save()
Dim SecondForm as New Form2()
SecondForm.ShowDialog()
Call AddToRecent(SecondForm.XMLFileName)
End Sub
Где AddToRecent добавляет имя файла в Recent
Сообщ. #789633
22.07.2003 14:58
новичок

новичокновичок