Перемещеие PictureBox'ов на форме - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. В универе задали простенькую в общем-то задачку : На форме есть смайлики. При нажатии на один из трех смайликов, остальнаые должны меняться местами. Я понимаю, что это наверняка как-то просто делается, но решение что-то совесем в голову не идет...
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
 
namespace WinFormApp
{
    public partial class Smiles : Form
    {
        public Smiles()
        {
            InitializeComponent();
        }
 
        private void reverseOfPic(byte clickedPic)
        {
            
            switch (clickedPic)
            {
                case 1:
                    {
                        
                        break;
                    }
                case 2:
                    {
                        
                        break;
                    }
                case 3:
                    {
                        
                        break;
                    }
            }
        }
 
        private void picSmile_Click(object sender, System.EventArgs e)
        {
            picSmile.BorderStyle = BorderStyle.FixedSingle; // Рамка
            picFrown.BorderStyle = BorderStyle.None; // Нет рамки
            picHappy.BorderStyle = BorderStyle.None; // Нет рамки
            lblMessage.Text = "Щелкнули на первом рисунке";
            reverseOfPic(1);
        }
 
        private void picFrown_Click(object sender, System.EventArgs e)
        {
            picSmile.BorderStyle = BorderStyle.None; // Нет рамки
            picFrown.BorderStyle = BorderStyle.FixedSingle; // Рамка
            picHappy.BorderStyle = BorderStyle.None; // Нет рамки
            lblMessage.Text = "Щелкнули на втором рисунке";
            reverseOfPic(2);
        }
 
        private void picHappy_Click(object sender, System.EventArgs e)
        {
            picSmile.BorderStyle = BorderStyle.None; // Нет рамки
            picFrown.BorderStyle = BorderStyle.None; // Нет рамки
            picHappy.BorderStyle = BorderStyle.FixedSingle; // Рамка
            lblMessage.Text = "Щелкнули на третьем рисунке";
            reverseOfPic(3);
        }
 
        private void btnExit_Click(object sender, System.EventArgs e)
        {
            this.Close(); // Закрыть форму
        }
 
    }
}
Дошел до этого, что делать дальше не знаю.

Решение задачи: «Перемещеие PictureBox'ов на форме»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            Image i = pictureBox2.Image;
            pictureBox2.Image = pictureBox3.Image;
            pictureBox3.Image = i;
        }
 
        private void pictureBox2_Click(object sender, EventArgs e)
        {
            Image i = pictureBox1.Image;
            pictureBox1.Image = pictureBox3.Image;
            pictureBox3.Image = i;
        }
 
        private void pictureBox3_Click(object sender, EventArgs e)
        {
            Image i = pictureBox1.Image;
            pictureBox1.Image = pictureBox2.Image;
            pictureBox2.Image = i;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5