Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Как "напрямую" обращатся к 2 или 3-м формам ???  [new]
potkin
Member

Откуда: Ungvar
Сообщений: 1090
В Program.cs я вписываю:
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            glav = new Glav();
            Application.Run(glav);
            //Application.Run(new Glav());
        }
        public static Glav glav;


Тоесть к форме я могу обращатся напрямую:
Program.glav.Close();

А вот как "напрямую" обращатся к нескольким формам ???
6 фев 09, 17:59    [6790143]     Ответить | Цитировать Сообщить модератору
 Re: Как "напрямую" обращатся к 2 или 3-м формам ???  [new]
SQL_Lamer
Member

Откуда: по колено в коде
Сообщений: 7454
potkin,
А в Ужгороде красиво?
Всегда хотел съездить.
6 фев 09, 18:11    [6790183]     Ответить | Цитировать Сообщить модератору
 Re: Как "напрямую" обращатся к 2 или 3-м формам ???  [new]
VxS_
Member

Откуда: Сибирь, медведи
Сообщений: 220
potkin
В Program.cs я вписываю:
        public static Glav glav;

А меня за такие записи SQL_Lamer как-то отправил книжки читать

Может на что-нибудь наведет

SQL_Lamer

А в Ужгороде красиво?
Всегда хотел съездить.

Умеете вы на вопросы отвечать
7 фев 09, 07:07    [6791313]     Ответить | Цитировать Сообщить модератору
 Re: Как "напрямую" обращатся к 2 или 3-м формам ???  [new]
D129
Member

Откуда:
Сообщений: 13918
potkin


А вот как "напрямую" обращатся к нескольким формам ???

Вы вот зачем вот это закомментировали?
 //Application.Run(new Glav());
:)

Это же не просто так возникло. Application.Run() запускает обработку очереди сообщений виндовс - для формы, которую получает в конструкторе. То есть, эта форма будет реагировать на мышку, клавиатуру....
Если произошел выход из функции Application.Run() - то это значит что программа завершается - очередь сообщений больше некому обрабатывать.

Вывод - если вам надо одновременно несколько форм в программе - то они должны запускаться из кода формы glav, а не из точки входа в программу.
8 фев 09, 11:33    [6792892]     Ответить | Цитировать Сообщить модератору
 Re: Как "напрямую" обращатся к 2 или 3-м формам ???  [new]
Ъй
Member

Откуда:
Сообщений: 2747
VxS_
SQL_Lamer

А в Ужгороде красиво?
Всегда хотел съездить.

Умеете вы на вопросы отвечать

что называется, "ответил уклончиво"
8 фев 09, 11:36    [6792896]     Ответить | Цитировать Сообщить модератору
 Re: Как "напрямую" обращатся к 2 или 3-м формам ???  [new]
ResearchStudio
Member [заблокирован]

Откуда: страна ленивых программистов
Сообщений: 2506
Точно не вспомню, помойму есть коллекция Application.OpenForms, там походу и лежит все что так или иначе открывается в приложении
9 фев 09, 00:09    [6793880]     Ответить | Цитировать Сообщить модератору
 Re: Как "напрямую" обращатся к 2 или 3-м формам ???  [new]
ResearchStudio
Member [заблокирован]

Откуда: страна ленивых программистов
Сообщений: 2506
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            while (Application.OpenForms.Count > 0)
            {
                Application.OpenForms[0].Close();
            }
            
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();
            frm.Show();
        }
    }
}
9 фев 09, 00:17    [6793887]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить