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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2014, 12:15   #1
KNIGT
Пользователь
 
Регистрация: 29.11.2013
Сообщений: 16
По умолчанию Программа с картинками

Здравствуйте! Помогите пожалуйста написать небольшую программку! Суть программы заключается в том что бы из представленных картинок на форме нужно составить правильный адрес электронной почты, путем перемещения картинок мышкой на форме в нужном порядке, после чего щелкнув по кнопке "проверить" выдавался результат о правильном составлении, или наоборот о не правильном!
Изображения
Тип файла: jpg Безымянный6.jpg (54.5 Кб, 115 просмотров)
KNIGT вне форума Ответить с цитированием
Старый 18.12.2014, 12:35   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Чем помочь-то? Что пробовали делать? В чем конкретно проблема?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.12.2014, 13:12   #3
KNIGT
Пользователь
 
Регистрация: 29.11.2013
Сообщений: 16
По умолчанию

Как слепить такую прогу собственно, сам не ахти, может поможете!)

Сделал только форму для наглядности собственно, с кодом уже проблема!)

Последний раз редактировалось Stilet; 18.12.2014 в 20:38.
KNIGT вне форума Ответить с цитированием
Старый 18.12.2014, 13:19   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

http://lmgtfy.com/?q=c%23+drag+and+drop+picturebox
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.12.2014, 18:41   #5
KNIGT
Пользователь
 
Регистрация: 29.11.2013
Сообщений: 16
По умолчанию

Спасибо за подсказку, написал код для перетаскивания изображения, все получилось!
Вот только осталось сделать проверку на кнопку, если предположим что пользователь ошибся и составил неправильный адрес и при нажатии на кнопку выдавало сообщение о неправильном результате, или о правильном если все построено верно, подскажите с этим моментом пожалуйста!

Вот сам код что у меня получилось:
Код:
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void pictureBox3_MouseDown(object sender, MouseEventArgs e)
        {
            pictureBox3.DoDragDrop(pictureBox3.Image, DragDropEffects.Move);
        }

        private void pictureBox5_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Move;
        }

        private void pictureBox5_DragDrop(object sender, DragEventArgs e)
        {
            pictureBox5.Image = (Image)e.Data.GetData(DataFormats.Bitmap);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            pictureBox5.AllowDrop = true;
            pictureBox6.AllowDrop = true;
            pictureBox7.AllowDrop = true;
            pictureBox8.AllowDrop = true;
        }

        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            pictureBox1.DoDragDrop(pictureBox1.Image, DragDropEffects.Move);
        }

        private void pictureBox4_MouseDown(object sender, MouseEventArgs e)
        {
            pictureBox4.DoDragDrop(pictureBox4.Image, DragDropEffects.Move);
        }

        private void pictureBox2_MouseDown(object sender, MouseEventArgs e)
        {
            pictureBox2.DoDragDrop(pictureBox2.Image, DragDropEffects.Move);
        }

        private void pictureBox6_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Move;
        }

        private void pictureBox6_DragDrop(object sender, DragEventArgs e)
        {
            pictureBox6.Image = (Image)e.Data.GetData(DataFormats.Bitmap);
        }

        private void pictureBox7_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Move;
        }

        private void pictureBox7_DragDrop(object sender, DragEventArgs e)
        {
            pictureBox7.Image = (Image)e.Data.GetData(DataFormats.Bitmap);
        }

        private void pictureBox8_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Move;
        }

        private void pictureBox8_DragDrop(object sender, DragEventArgs e)
        {
            pictureBox8.Image = (Image)e.Data.GetData(DataFormats.Bitmap);
        }
    }
}
Вот сама форма!

Могу конечно сбросить и саму программу если понадобится!)))
Изображения
Тип файла: jpg Безымянный.jpg (58.2 Кб, 132 просмотров)

Последний раз редактировалось Stilet; 18.12.2014 в 20:43.
KNIGT вне форума Ответить с цитированием
Старый 18.12.2014, 19:30   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что-то кода много одинакового, по-моему тут можно использовать те же самые обработчики событий для всех, а не для каждого свой.
Чтобы получить из sender'а PictureBox, который сгенерировал событие, можно делать так:
Код:
PictureBox pictBox = (PictureBox) sender;

Насчет проверки можно такой простой вариант:
использовать свойство Tag у Image. (может есть и лучше/проще варианты, не работал давно с винформс и драгндропом в нем)

Код:
pictureBox1.Image.Tag = 1;

// при проверке
int ind = (int) pictureBox5.Image.Tag;

Кстати, у PictureBox есть свойство BorderStyle — поставьте там что-нибудь для нижних, а то ж не попадет пользователь )


Вообще я бы сделал как-то так без драгндропа:
Код:
        private Point moveStartLocation;

        private void pictureBox_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                moveStartLocation = e.Location;
            }
        }

        private void pictureBox_MouseMove(object sender, MouseEventArgs e)
        {
            PictureBox pictBox = (PictureBox)sender;

            if (e.Button == MouseButtons.Left)
            {
                pictBox.Left = e.X + pictBox.Left - moveStartLocation.X;
                pictBox.Top = e.Y + pictBox.Top - moveStartLocation.Y;
            }
        }
И потом смотреть координаты при проверке.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 18.12.2014 в 20:31.
Alex11223 вне форума Ответить с цитированием
Старый 18.12.2014, 20:34   #7
KNIGT
Пользователь
 
Регистрация: 29.11.2013
Сообщений: 16
По умолчанию

Может я вот сброшу, подставьте пожалуйста, вам это наверное как два пальца))), а то для меня это целая наука!!! Если можно пожалуйста!
А то сам по видео смотрел и собирал код, не особо вникал!
Вложения
Тип файла: rar WindowsFormsApplication1.rar (83.7 Кб, 12 просмотров)
KNIGT вне форума Ответить с цитированием
Старый 18.12.2014, 20:38   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да ну, так неинтересно, идите вникайте )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.12.2014, 21:04   #9
KNIGT
Пользователь
 
Регистрация: 29.11.2013
Сообщений: 16
По умолчанию

шутник!)))
KNIGT вне форума Ответить с цитированием
Старый 18.12.2014, 21:06   #10
KNIGT
Пользователь
 
Регистрация: 29.11.2013
Сообщений: 16
По умолчанию

мне желательно теперь код на кнопку, что бы обрабатывало событие на правильность составления!
KNIGT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с картинками. Loadgame Помощь студентам 4 06.11.2011 18:58
Прога с картинками) penok Помощь студентам 1 12.03.2011 01:23
список с картинками пауэрлифтинг Мультимедиа в Delphi 9 22.03.2010 19:43
проблема с картинками sava28 HTML и CSS 3 05.08.2008 16:23
бд с картинками TaTT DoGG БД в Delphi 3 28.04.2008 08:21