الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[تنبيه - عنوان غير مناسب : ]سوأل عاجل وضروري

بدأه النجمه الحره في 9 مارس 2009 · 3 رد · 487 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

انشأت عنصر تحكم

(picturebox)

واريد عند الضغط عليه بالمأوس يتحرك معه الى الموقع المراد وضعه فيه وذلك بالضغط على ذلك الموقع بالمأوس

clickعندي فكره أوليه حيث استخدمت الحدث

mousemoveبالنسبة للعنصر وبداخل الحدث عملت انشاء للحدث

كما يلي وذلك بأنشاء متغير عام يعمل على انشاء الحدث مأوس موف عند الضغط أول مره على الصوره لسحبها

وعند الضغط مره اخرى على الصوره لتثبيتها في الموقع الجديد نعمل على هدم أو حذف الحدث مأوس موف

وبداخل الحدث مأوس موف انشأت الكود التالي

pic.top=e.y;

pic.left=e.x;

لكن هذه الطريقة نتج عنها عدة مشاكل منها الحركة بشكل سريع جدا وعدم معرفتي للكود الذي يعمل على هدم الحدث

اتمنى المساعده في اقرب وقت ولو بطرح فكره ولكم جزيل الشكر وتمنياتي بالتوفيق

#2
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
		{
			if (Dragging)
			{
				Dragging = false;
				Cursor.Clip = System.Drawing.Rectangle.Empty;
				pictureBox1.Invalidate();
			}
		}

		private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
		{
			if (Dragging)
			{
				Point MPosition = new Point();
				MPosition = this.PointToClient(MousePosition);
				MPosition.Offset(mousex, mousey);
				pictureBox1.Location = MPosition;
			}
		}

		private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
		{
			if (e.Button != MouseButtons.Left) return;
				Dragging = true;
				mousex = -e.X;
				mousey = -e.Y;
				int clipleft = this.PointToClient(MousePosition).X - pictureBox1.Location.X;
				int cliptop = this.PointToClient(MousePosition).Y - pictureBox1.Location.Y;
				int clipwidth = this.ClientSize.Width - (pictureBox1.Width - clipleft);
				int clipheight = this.ClientSize.Height - (pictureBox1.Height - cliptop);
				Cursor.Clip = this.RectangleToScreen(new Rectangle(clipleft, cliptop, clipwidth, clipheight));
				pictureBox1.Invalidate();
		}


		bool Dragging;
		int mousex;
		int mousey;

تم تعديل هذه المشاركة بواسطة akramKamal في 9 مارس 2009 في 16:06

قولوا لا اله الا الله تفلحوا

ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم

#3

الأخ الكريم/الأخت الكريمة

السلام عليكم ورحمة الله وبركاته

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

#4

شكراً لك اخي الكريم وزادك الله علما ونفع بك الامة

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…