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

مشكلة في كود الـ (Drag &Drop)

بدأه ..ريـومة.. في 22 سبتمبر 2011 · 21 رد · 1,416 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدي واجهة استخدم بها عملية الـ Drag & Drop

بين اداتي ListBox والـ Canvas

واستخدمت هذا الكود

    	public void DropImage7(object sender, DragEventArgs e)
        {

            ImageSource image = e.Data.GetData(typeof(ImageSource)) as ImageSource;

            Image imagecontrol = new Image() { Width = image.Width, Height = image.Height, Source = image };



            if (imagecontrol.Source != image1.Source)
            {
                MessageBox.Show(" تم سحب صورة خاطئة");
                movement_sum4++;
                Total = Total - 10;
                label4.Content = movement_sum4;
                total_label.Content = Total;
            }


            if (imagecontrol.Source == image1.Source)
            {
                this.photocanvas7.Children.Add(imagecontrol);
                Photolistbox.Items.RemoveAt

(Photolistbox.Items.IndexOf(Photolistbox.SelectedItem));
                movement_sum2++;
                label2.Content = movement_sum2;


            }

وتمت عمليه السحب والافلات

ولكن المشكلة هي يجب ان اضغط عليها وذلك باختيار العنصر من القائمة اولا ومن ثم السحب <<ترى هل السبب SelectedItem

لأنني اريدها بمجرد الضغطة الاولى تُسحب معي

كيف يمكن ذلك؟؟

تم تعديل هذه المشاركة بواسطة ..ريـومة.. في 22 سبتمبر 2011 في 18:14

#2

اليس هناك من حل؟؟

#3

السلام عليكم

ما هي المكتبة التي تستخدمها للتعرف على الكلاس ImageSource

#4

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

  using System.Windows.Media;

هل للمكتبة علاقة بخاصية السحب من اول مرة؟

#5

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

اقتباس
Photolistbox.SelectedItem

اختي المشكلة هنا لأنك حددت العنصر المختار!!

.:: Wish to become better and better ::.

#6

حسنا كيف اجعلها بدون استخدام اختيار الايتم؟

هل من الممكن ان يتم سحبها من الـ list box بدون الضغط عليها مسبقا واختيارها؟

#7

??? :mellow:

#8

هذه مقاله تشرح طريقه Drag Drop بطريقه بسيطه وليس بها تعقيدات

المقاله

#9

مشكور اخوي عالمقاله

اعجبني طريقة طرحها

ولكني كنت ابحث بسؤالي عن طريقة السحب من اللست بوكس لاداة الـ canvas

وماقرأته كان عن التعامل مع التكست بوكس

كيف سيكون الاختلاف في عمليه السحب والتقاط الكائن حتى يتم التعرف عليه

لاني اريد التاكد هل الصورة التي سحبها اليوزر من عناصر اللست بوكس مطابقة لموضع الـ canvas لتكتمل الصورة بالشكل المطلوب

لذلك استخدمت خاصية selected item

ولكن كما رايت حدثت مشكلة الضغط اولا ثم السحب

:(

#10
..ريـومة.. كتب:

مشكور اخوي عالمقاله

اعجبني طريقة طرحها

ولكني كنت ابحث بسؤالي عن طريقة السحب من اللست بوكس لاداة الـ canvas

وماقرأته كان عن التعامل مع التكست بوكس

كيف سيكون الاختلاف في عمليه السحب والتقاط الكائن حتى يتم التعرف عليه

لاني اريد التاكد هل الصورة التي سحبها اليوزر من عناصر اللست بوكس مطابقة لموضع الـ canvas لتكتمل الصورة بالشكل المطلوب

لذلك استخدمت خاصية selected item

ولكن كما رايت حدثت مشكلة الضغط اولا ثم السحب

:(

الوضع هنا مختلف ... فأنت تريد سحب كنترول داخل الفورم , وليس سحب ملف الى البرنامج

أولاً إقرأ هذه المقاله بها شرح قريب مما تريد

وسأحاول ان شاء الله عمل ما تريد بالظبط و إخبارك بالطريقه

#11

حسناً لقد وجدتها

هذه المقاله تشرح كيف يمكن تبادل بيانات بين كنترولز داخل الفورم من خلال DragDrop إقرأها واتمنى ان تجد فيها ضالتك

المقاله

#12

مشكور اخوي Mohammed Mah

وجزاك الله خير

قرأت المقالة وفهمتها ولله الحمد

ولكن المشكلة الان ان جهازي الخاص المثبت به الفيجوال قد تعطل

وبإذن الله حالما ياتي الجهاز ساقوم بالتطبيق واخبرك بالنتيجة

#13
..ريـومة.. كتب:

مشكور اخوي Mohammed Mah

وجزاك الله خير

قرأت المقالة وفهمتها ولله الحمد

ولكن المشكلة الان ان جهازي الخاص المثبت به الفيجوال قد تعطل

وبإذن الله حالما ياتي الجهاز ساقوم بالتطبيق واخبرك بالنتيجة

بالتوفيق ان شاء الله

#14

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

أخي الكريم جربت الان تشغيل البرنامج الموجود في المقاله

ووجدت انه ينقل نص بين القائمتين

وبالفعل بالطريقه التي اريدها ( اي انها لاتحتاج الى الضغط اولا كما هي المشكلة لدي )

ولكن

كيف لي ان انقل ان كانت عناصر القائمة لدي صور ؟

#15
..ريـومة.. كتب:

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

أخي الكريم جربت الان تشغيل البرنامج الموجود في المقاله

ووجدت انه ينقل نص بين القائمتين

وبالفعل بالطريقه التي اريدها ( اي انها لاتحتاج الى الضغط اولا كما هي المشكلة لدي )

ولكن

كيف لي ان انقل ان كانت عناصر القائمة لدي صور ؟

بنفس الطريقه , ولكن النص المنقول يكون رابط الصورة نفسها , بحيث لما النص يتنقل لمكان تاني البرنامج يحط الصورة من الرابط المنقول

#16
اقتباس
بنفس الطريقه , ولكن النص المنقول يكون رابط الصورة نفسها , بحيث لما النص يتنقل لمكان تاني البرنامج يحط الصورة من الرابط المنقول

عفوا لم افهم ماقصدته

كيف اضع رابط الصورة؟

انا اريد ان تكون الصور ظاهرة في اللست بوكس ومن ثم يتم سحبها الى المكان المطلوب حتى تكتمل الصورة بالشكل المناسب

تم تعديل هذه المشاركة بواسطة ..ريـومة.. في 1 نوفمبر 2011 في 22:48

#17
..ريـومة.. كتب:

عفوا لم افهم ماقصدته

كيف اضع رابط الصورة؟

انا اريد ان تكون الصور ظاهرة في اللست بوكس ومن ثم يتم سحبها الى المكان المطلوب حتى تكتمل الصورة بالشكل المناسب

ببساطه لو عندنا ليست موجوده فيه الصور وكل صورة عباره عن PictureBox معروضه فيه الصورة , ممكن نستخدم البروبرتي tag بحيث اننا نخزن فيها رابط الصورة او مكانها على الهارد , بحيث لما تيجي تعمل Drag للصورة من الليست اللي يتنقل مش الصورة نفسه , يتنقل قيمة البروبرتي tag , وعند عمل Drop في المكان المطلوب , البرنامج يقرا القيمة المنقوله - اللي هي رابط الصورة المخزن في البروبرتي tag - بحيث انه يعرض الصورة من خلال رابطها

عموماً دي طريقه من ضمن الطرق , وفيه اكتر من طريقه ممكن تتعمل بيها الموضوع ده , هحاول ان شاء الله اظبط موضوع كامل عن الكلام ده وهنزله

#18

مشكور اخوي ماقصرت

بس المشكلة انو مشروعي شغالة عليه في بيئة الـ wpf

ومافيه خاصيه PictureBox

ولاني اريد ان تكون عناصر اللست بوكس صور ظاهرة في القائمة حتى يطابقها الطفل مع الصور الاصليه ويسحبها

اتمنى ان الاقي الحل لان المناقشة لمشروعي بعد اسبوع

#19

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

اختي يمكن غبت كثير عن سؤالك, ممكن ترفقي مشروعك او فورم الـ WPF وتكتبي تفاصيل المشكلة ليتم حلها بإذن الله ..

.:: Wish to become better and better ::.

#20

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

ارفقت مثال على المشكلة لانها هي نفسها في بقية الشاشات

والمشكلة كما اسلفت سابقا

انه لايتم سحب الصورة من اللست بوكس الا بعد الضغط عليها

وانا اريد ان تنسحب تلقائيا

اتمنى تنحل

وشكرا

Training.rar

#21

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

اختي طبعا الفورم كان فاضي, لم اجد سوى مجلد فيه مجموعة صورالمهم حاوت تخيل الفكرة والحمدلله حليتها ولكن ليس باستخدام الحدث Drop لأنه حسب علمي يستخدم لافلات اي عناصر من الويندوز الى تطبيق WPF, المهم شوفي المرفق ان شاء الله يكون هو المطلوب

Training.zip

.:: Wish to become better and better ::.

#22

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

الحمدلله

مشكور اخوي ماقصرت

جزاك الله خير

ونفع بك الأمة

واتمنى فقط ان تحلوا لي مشكلة بياناتي المتطايرة

وضع احد الاخوة مشكورا حلا لمشكلتي وعندما قمت بتجريبه ظهر لي خطأ اخر وقمت بوضع الايرور الظاهر

ولكن لم اجد ردا

وهذه المشكلة مرتبطة ببيانات المشروع لدي

وتعتمد على اوامر sql اخرى

وليس لدي وقت

تم تعديل هذه المشاركة بواسطة VB Helper في 9 نوفمبر 2011 في 16:58

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