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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2013, 15:16   #1
darya19
 
Регистрация: 18.02.2013
Сообщений: 7
По умолчанию отображение picturebox на label

надо так:
665.jpg
а получается..
666.png

Код:
#pragma once

namespace Lab6 {

enum class ShapeType {Rectangle = 0,Ellipse = 1,Square = 2};

private: int _oldX, _oldY;

#pragma endregion

private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
			System::Drawing::Drawing2D::GraphicsPath^ path = gcnew System::Drawing::Drawing2D::GraphicsPath();
			path->AddEllipse(pictureBox2->ClientRectangle);
			pictureBox2->Region = gcnew System::Drawing::Region(path);

			pictureBox1->Tag = ShapeType::Rectangle;
		    pictureBox2->Tag = ShapeType::Ellipse;
			pictureBox3->Tag = ShapeType::Square;
			 }
private: System::Void pictureBox2_MouseDown(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) {
			if (e->Button == System::Windows::Forms::MouseButtons::Left)
			{
				 dragging = true;
				_oldX = e->X;
				_oldY = e->Y;
			}
		 }
private: System::Void pictureBox2_MouseMove(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) {
			 if (dragging)
			{
				PictureBox ^pictureBox = (PictureBox^)sender;
				
				pictureBox->Top += e->Y - _oldY;
				pictureBox->Left += e->X - _oldX;

				if (label1->Bounds.Contains(pictureBox->Bounds))
				{
					label1->BackColor = Color::Orange;
				}
				else
				{
					label1->BackColor = Color::Wheat;
				}

				if (label2->Bounds.Contains(pictureBox->Bounds))
				{
					label2->BackColor = Color::Orange;
				}
				else
				{
					label2->BackColor = Color::Wheat;
				}
			}
		 }
private: System::Void pictureBox2_MouseUp(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) {
			 dragging=false;

			 PictureBox ^pictureBox = (PictureBox^)sender;
			
			if (label1->Bounds.Contains(pictureBox->Bounds))
			{
				label3->Text = Convert::ToString(pictureBox->BackColor) + "\n" + Enum::GetName((ShapeType::typeid ), pictureBox->Tag);
			}

			if (label2->Bounds.Contains(pictureBox->Bounds))
			{
				ShapeType type = (ShapeType)pictureBox->Tag;
				if (pictureBox->Tag==ShapeType::Rectangle){
					pictureBox->Focus();
						pictureBox->Tag = ShapeType::Ellipse;
						pictureBox->Size = System::Drawing::Size(pictureBox->Width, pictureBox->Width);

						System::Drawing::Drawing2D::GraphicsPath^ path = gcnew System::Drawing::Drawing2D::GraphicsPath();
						path->AddEllipse(pictureBox->ClientRectangle);
						pictureBox->Region = gcnew System::Drawing::Region(path);

				}
				if (pictureBox->Tag==ShapeType::Ellipse){
					pictureBox->Focus();
						pictureBox->Tag = ShapeType::Square;
						pictureBox->Region = gcnew System::Drawing::Region(pictureBox->ClientRectangle);
				}
				if (pictureBox->Tag==ShapeType::Square){
					pictureBox->Focus();
						pictureBox->Tag = ShapeType::Rectangle;
						pictureBox->Size = System::Drawing::Size(pictureBox->Width, pictureBox->Width / 2);
				}
			
			}

		 }
};
}
как сделать чтобы фигура была поверх метки?
darya19 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение видео в объекте PictureBox Mixim C# (си шарп) 7 14.05.2011 11:26
При расположении Label на компонентах, место под Label, не реагирует на событие onClick. NavigatorNeba Компоненты Delphi 3 15.11.2008 19:56
Отображение в Label периода с помощью таймера DenSuper007x Помощь студентам 37 26.03.2008 22:05
Отображение песен в Label. !Анатолий Общие вопросы Delphi 13 17.11.2007 15:59
Вопрос по label. Как сделать так чтобы label была прозрачной. Lonix Компоненты Delphi 2 01.04.2007 06:23