Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2016, 17:52   #1
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
Лампочка Связь форм

Добрый день!

Помогите, пожалуйста. Есть две формы. Пытаюсь их связать, но работа происходит некорректно

Первая форма:
Код:
 private void pictureBox1_DoubleClick(object sender, EventArgs e)
        {
            Form2 F = new Form2();
            F.Owner = this;
            F.s = textBox1.Text;
            F.S = textBox5.Text;
            F.ShowDialog();
        }
Вторая форма:
Код:
private void main()
        {
            Form1 mai = this.Owner as Form1;
            if (mai != null)
            {
                rB = new List<boo>();
                int X=1, Y=1;
                }
            }
 
        }
Не заходит в цикл
Код:
if (mai != null)
Просто проходит мимо, как будто на форме ничего нет


Попробовала вот так. Форму main видит, заходит и берет оттуда значения переменных
Код:
private void Form2_Load(object sender, EventArgs e)
        {
            Form1 mai = this.Owner as Form1;
            if (mai != null)
            {
                s = mai.textBox1.Text;
                S = mai.textBox5.Text;}
Но после того, как выходит из Form2_Load переменные обнуляются. Хотела сделать, чтобы здесь переменные записывались, а потом в этом куске с ними работать. Но они пустыми становятся

Код:
private void main()
{for (int i = 0; i <= (S.Length - 1); i++)
                {
                    if (S.Substring(i, 1) == "1")
                    {...........}}
Вызываю вот так

Код:
public Form2()
        {
            InitializeComponent();
            main();
        }
Пробовала всю работу делать в Form2_Load но бессмысленно. Следом запускается InitializeComponent() и всю работу с формой обнуляет
Maray вне форума Ответить с цитированием
Старый 08.08.2016, 10:27   #2
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Вот весь проект, посмотрите, пожалуйста, если не трудно. Очень нужна помощь
Вложения
Тип файла: rar WindowsFormsApplication1.rar (108.0 Кб, 11 просмотров)
Maray вне форума Ответить с цитированием
Старый 08.08.2016, 11:06   #3
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Сделай конструктор второй формы таким:
Код:
 private readonly Form1 mainForm;
        public Form2( Form1 mainForm )
        {
            this.mainForm = mainForm;
            InitializeComponent();
            mainn();
        }
Метод mainn:
Код:
internal void mainn()
        {
            s = mainForm.textBox1.Text;
            S = mainForm.textBox5.Text;
            rB = new List< boo >();
            int x = 1, y = 1;
            for ( var i = 0; i <= S.Length - 1; i++ )
            {
                if ( S.Substring( i, 1 ) == "1" )
                {
                    rB.Add( new boo( true ) );
                    Dr( x, y, true );
                }
                else
                {
                    rB.Add( new boo( false ) );
                }
                x = x + 50;
                if ( ( i + 1 ) % 4 != 0 )
                    continue;
                y = y + 50;
                x = 1;
            }
        }
Создание формы 2 из формы 1
Код:
   private void pictureBox1_DoubleClick( object sender, EventArgs e )
        {
           new Form2( this ) { Owner = this }.Show();
        }
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 08.08.2016, 19:44   #4
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Спасибо! Вроде стало работать, но не до конца. Когда открывается вторая форма не меняется цвет кнопок и на panel ничего не рисуется
Вложения
Тип файла: rar WindowsFormsApplication1.rar (107.9 Кб, 9 просмотров)
Maray вне форума Ответить с цитированием
Старый 09.08.2016, 11:23   #5
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Посмотрел. Убрал тебе из формы много кода, запилил отрисовку, дочищай код сама. Код формы в архиве.
Вложения
Тип файла: zip Form2.zip (4.5 Кб, 9 просмотров)
Не давай организму поблажки, каждый день тренируй его в шашки..

Последний раз редактировалось Скарам; 09.08.2016 в 16:30.
Скарам вне форума Ответить с цитированием
Старый 09.08.2016, 11:27   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Скарам Посмотреть сообщение
дочищай код сам
" дочищай код самa"
автор топика - барышня
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.08.2016, 20:01   #7
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Огромное спасибо за помощь!
Maray вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
слипание форм Глеб1991 Помощь студентам 3 07.06.2012 18:48
Как связать форму поиска с таблицей (Связь форм) Microshema Microsoft Office Access 1 24.06.2010 23:12
Взаимодействие форм Anekdot Общие вопросы Delphi 2 29.01.2010 07:33
Создание форм DeNyS=) Microsoft Office Access 2 13.12.2009 15:30
совмещение форм blackstersl Общие вопросы Delphi 3 06.09.2008 10:00