5 / 5 / 1
Регистрация: 30.03.2015
Сообщений: 118
1

Возврат в форму, из которой была открыта данная форма

11.04.2015, 16:34. Показов 1475. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго дня! Мне понравилось обращаться на данном форуме к знатокам, все помогают быстро и корректно, за это всем огромное спасибо, и снова я с вопросом - есть форма она может быть открыта из 3-х разных форм, как при закрывании данной формы перейти именно на ту форму с которой данная была открыта. Надеюсь понятно изложил вопрос, заранее благодарю
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2015, 16:34
Ответы с готовыми решениями:

Как узнать, с какой формы была открыта (Form*.ShowModal:) текущая форма
Доброго всем времени суток! Помогите, пожалуйста решить одну задачку: Проект для расчёта времени...

Можно ли перепрыгивать из одной книги, в которой открыта форма, в другую?
Добрый день, гуру VBA! Проблема1: При открытой форме (UserForm) не возможно работать с другими...

Как свернуть родительскую форму пока открыта вторая форма
Здравствуйте, уважаемые форумчане! Подскажите, пожалуйста, как решить такую проблему! Есть...

Как создать другую форму, но чтобы при нажатии кнопки эта форма была не сбоку, тоесть чтобы она была в этой первой форме
Как создать другую форму, но чтобы при нажатии кнопки эта форма была не сбоку, тоесть чтобы она...

10
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
11.04.2015, 22:54 2
Не совсем понятно То есть у вас открыты три формы, с одной из них вы открываете четвертую и при ее закрытии хотите вернуться на ту, с которой она открывалась? А что мешает просто щелкнуть мышью по этой форме? Или четвертая форма открывалась сама по себе и вы не знаете с какой?
0
5 / 5 / 1
Регистрация: 30.03.2015
Сообщений: 118
12.04.2015, 08:32  [ТС] 3
chumich, спасибо что откликнулся, постараюсь объяснить в рисунке
Возврат в форму, из которой была открыта данная форма

1 форма главная, из нее можно перейти в формы 2 или 3 или 4, а из этих форм переход на форму 5, при каждом переходе форма родитель закрывается и открывается выбранная, вопрос состоит в том как из формы 5 перейти на форму из которой ты попал в эту форму 5 (на форме 5 кнопка "назад", по ней и будет переход на форму родитель)
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
12.04.2015, 09:33 4
1. Создаете новый класс (лучше static). В нем переменную.
C#
1
2
3
4
    static class Class1
    {
        public static int codeForm { get; set; }
    }
2. В каждом событии форм 2, 3 и 4 перед открытием формы 5 задаете код формы. Например, для формы 2:
C#
1
2
3
4
5
6
7
        private void button1_Click(object sender, EventArgs e)
        {
            Class1.codeForm = 1;
            Form5 frm2 = new Form5();
            frm2.Show();
            this.Hide();
        }
Понятно, что для 3ей codeForm = 2, для 4й = 3.
3. В форме 5 на кнопку Назад пишете код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        private void button1_Click(object sender, EventArgs e)
        {
            int openFrm = Class1.codeForm;
            switch (openFrm)
            {
                case 1:
                    Form2 frm22 = new Form2();
                    frm22.Show();
                    break;
                case 2:
                    Form3 frm33 = new Form3();
                    frm33.Show();
                    break;
                case 3:
                    Form4 frm44 = new Form4();
                    frm44.Show();
                    break;
            }
            this.Hide();
        }
Всё проверено. Всё работает
0
5 / 5 / 1
Регистрация: 30.03.2015
Сообщений: 118
12.04.2015, 09:53  [ТС] 5
chumich, спасибо за развернутый ответ, да вот не задача, мой вопрос перенесли не в тот форум, либо я изначально затупил и не там создал тему, я пишу на visual basic, а вы как я вижу написали мне код C#, если сможете напишите для VB.net, или мне лучше сразу тему перенести в другой раздел?
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
12.04.2015, 10:29 6
Лучший ответ Сообщение было отмечено Sersevik как решение

Решение

Цитата Сообщение от Sersevik Посмотреть сообщение
или мне лучше сразу тему перенести в другой раздел
Ну, тему и без вас теперь модераторы перенесут Принцип-то не меняется, что на C#, что на VB. Создается переменная с кодом формы и используется. Основной код практически тот же, вместо switch, по-моему, select case, вместо this - me, остальное без точек с запятой и объявление через Dim. Единственное, я на VB с классами не работал, посмотреть надо что и как. Как время появится - попробую. А вы тоже покопайтесь сами, вдруг быстрее получится

Добавлено через 18 минут
Всё оказалось проще, чем в C#
1. Создаете модуль, в нем переменную:
VB.NET
1
2
3
Module Module1
    Public codeForm As Integer
End Module
2. В формах 2 - 4 (это для второй):
VB.NET
1
2
3
4
5
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        codeForm = 1
        Form5.Show()
        Me.Hide()
    End Sub
3. В форме 5:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Select Case codeForm
            Case 1
                Form2.Show()
                Me.Hide()
            Case 2
                Form3.Show()
                Me.Hide()
            Case 3
                Form4.Show()
                Me.Hide()
        End Select
    End Sub
2
-30 / 1 / 2
Регистрация: 25.01.2015
Сообщений: 55
12.04.2015, 12:03 7
Тебе на каждой форменадо поставить кнопки 3 на всех формах:
Весь код:

Первая кнопка:
VB.NET
1
2
Me.close
Form1.show
Вторая кнопка:
VB.NET
1
2
Me.close
Form2.show
Третья кнопка:
VB.NET
1
2
Me.close
Form3.show
И в настройках программы сделать чтобы форма: закрывалась последней
1
5 / 5 / 1
Регистрация: 30.03.2015
Сообщений: 118
12.04.2015, 15:18  [ТС] 8
chumich, огромное спасибо, единственное хотел уточнить
Цитата Сообщение от chumich Посмотреть сообщение
1. Создаете модуль, в нем переменную:

VB.NET
1
2
3
Module Module1
* * Public codeForm As Integer
End Module
это я делаю в какой форме, я так понимаю можно в главной сделать в форме1
1
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
12.04.2015, 15:26 9
Цитата Сообщение от Sersevik Посмотреть сообщение
это я делаю в какой форме
Это не в форме. В VS нажимаете Проект/Добавить модуль и добавляете. Он сам по себе. И всё, что в нем задано через public, видится из всех форм.
1
5 / 5 / 1
Регистрация: 30.03.2015
Сообщений: 118
12.04.2015, 15:38  [ТС] 10
chumich, Все работает, классно !!! спасибо большое
0
chumich
12.04.2015, 15:45     Возврат в форму, из которой была открыта данная форма
  #11

Не по теме:

Очень рад. Успехов! :yes:

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2015, 15:45

Как вывести кнопку в форме: печать отчета только той записи на которой открыта сейчас форма
Как вывести Кнопку в ФОРМЕ: Печать отчета только той Записи на которой открыта сейчас ФОРМА. ...

Как выбрав сточку из main menu открыть новую форму в которой будет открыта таблица с БД
Есть форма MDI,нужно чтобы выбрав сточку из main menu открывалась дочерняя форма в которой будет...

Идентификация кнопки с которой была отправлена форма Contact form 7
Подскажите пожалуйста, как реализовать такое. Есть плагин контактных форм Contac Form 7. В...

Можно ли в DLL'ке обьявить форму которая будет открыта как дочерняя форма для MDI'ной формы из екзешника?
Не подскажет ли Олл, возможно ли такое: Есть екзешник, в нем MDI'ная форма, и есть ActiveX DLL, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru