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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2016, 18:10   #1
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
Восклицание C# Формы

Добрый день!

Помогите, пожалуйста.
Из первой формы передаю во вторую переменную
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

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

                
        private void pictureBox1_DoubleClick(object sender, EventArgs e)
        {
            Form2 FF = new Form2(textBox1.Text);
            FF.Show();
            pictureBox1.Image = null;
            Bitmap MI = new Bitmap(Sav); <----переменную нужно получить из второй формы
            pictureBox1.Image = MI;
        }
        }
    }
Из второй формы нужно передать переменную Sav.
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
            private System.Collections.ObjectModel.Collection<Rectangle>
            Rectangles = new System.Collections.ObjectModel.Collection<Rectangle>();
            string te;
        public Form2(string s)
        {
            InitializeComponent();
            s += ".bmp";
            te = s;
        }

        
        private void button2_Click(object sender, EventArgs e)
        {
            string Sav=@"D:\\WindowsFormsApplication1\\WindowsFormsApplication1\\Pic\\";
            Sav += te;
            Bitmap bmp = new Bitmap(panelPaint.Width, panelPaint.Height);
            Graphics Grph = Graphics.FromImage(bmp);
            foreach(var rec in Rectangles)
                Grph.DrawRectangle(new Pen(Color.Blue, 3), rec);
            File.Delete(Sav);
            bmp.Save(Sav);<-----эту переменную передать в первую форму
           Close();
        }
    }
Помогите, пожалуйста
Maray вне форума Ответить с цитированием
Старый 03.08.2016, 16:14   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Есть много способов, например, сделать публичное поле во второй форме (вынести декларацию стринг сав из метода выше, внутрь декларации класса формы) и проверять его потом, когда надо: Bitmap MI = new Bitmap(FF.Sav); Но тут есть момент, если Вы вызываете форму FF.Show(); то в этот момент у Вас ещё не отработает нажатие кнопки, ибо шоу не останавливает выполнение, надо ShowDialog() - показать в модальном режиме.
А можно сделать метод (или публично читаемое но приватно записываемое свойство) в классе формы, который возвращал бы нужное значение , а поле сделать приватным.
Но при таком подходе надо ещё учесть, что читать поле\метод\свойство можно и до вызова шоудайлог, тогда будет некорректно работать логика. Чтобы этого избежать, можно и шоудайлог обернуть в тот метод, обеспечив обязательность показа формы и нажатия кнопки.
phomm вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие модальной формы с продолжением выполнения кода первой формы KBO Помощь студентам 6 18.08.2015 22:30
Как мне из формы, генерить другие формы, нажимая на кнопку? RISagitov Microsoft Office Excel 5 21.05.2012 00:57
Из DBGrid одной формы отразить в ListBox на другой формы VenZell БД в Delphi 2 28.05.2010 07:27
Заголовок Child формы имеет цвет неактивной формы, хотя форма активна? PrimaryPro Общие вопросы Delphi 0 12.03.2010 11:12
как привязать размеры содержимого формы к размерам самой формы acid_bmstu Общие вопросы Delphi 4 05.02.2010 05:02