Drag & Drop در سی شارپ
برای Drag & Drop در سی شارپ یک مثال می زنیم. فرض کنید که می خواهید یک کنترل button را از داخل یک کنترل panel کشیده و در در panel دیگر رها کنید. برای اینکار دو کنترل panel و یک دکمه مانند شکل زیر بر روی فرم قرار دهید :
حال کدهای زیر را وارد کرده و برنامه را اجرا و نتیجه را مشاهده نمایید :
using System.Windows.Forms; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); panel1.AllowDrop = true; panel2.AllowDrop = true; panel1.DragEnter += panel_DragEnter; panel2.DragEnter += panel_DragEnter; panel1.DragDrop += panel_DragDrop; panel2.DragDrop += panel_DragDrop; button1.MouseDown += button1_MouseDown; } void button1_MouseDown(object sender, MouseEventArgs e) { button1.DoDragDrop(button1, DragDropEffects.Move); } void panel_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; } void panel_DragDrop(object sender, DragEventArgs e) { ((Button)e.Data.GetData(typeof(Button))).Parent = (Panel)sender; } } }
سلام وقت بخیر من میخام کدی بزنم که مختصات تعدادی مستطیل بهش بدیم اون مستطیل توی پنل برای ما رسم کنه و بتونیم با ماوس مستطیل هارو جابجا کنیم توی drag and drop کردن مستطیل ها گیر کردم میشه لطفا کدش رو بزارین باتشکر
سلام من کد این بخش رو طبق مثال نوشتم اما به جز این که اجرا نمی شه کنترل هایی که گذاشتم رو هم بهم نشون نمیده حالا من باید چکار کنم که حداقل کنترلا رو روی فرم نشون بده قبلا هم این اتفاق افتاده بود که وقتی فرم رو بسته بودم بعد از اینکه دوباره می خواستم برای تکمیل کردن بازش کنم کنترل ها رو بهم نشون نمی داد و من مجبور بودم پاک کنم و از اول مراحل رو انجام بدم می خواستم ببینم چه راهی هست که این اتفاق نیفته
سلامی دوباره , ببخشید همون آموزش ویدئوی سی شارپ به زبان ساده هستش؟ و یه مورد دیگه پایتون به زبان ساده چقدر میتونه مفید باشه واسه یه کسی که پایتون کار نکرده و تاثیرش چقدر میتونه باشه .
سلام آقای ابراهیمی ببخشید اون کتابی که تو نظرات گفتید اماده هست برای دانلود؟
سلام، بله، تو قسمت فروشگاه سایت هست
سلام ، ممنون از مطالب مفیدتون،
این قسمت کد را من کپی و اجرا کردم ولی به طور درست اجرا نمی شد.
از دکمه یک نمونه را به پنل کناری می برد ولی تصویر دگمه در پنل اول باقی می ماند..
و آیا این عمل یکطرفه است؟ برای من امکان باز گرداندن وجود نداشت.
با تشکر
سلام دوست عزیز
کاملا درست کار می کنه، بنده تست کردم و دو طرفه هست. فقط این نکته رو توجه کنید که باید روی رویدادها تو پنجره properties کلیک کنید تا کنترل کننده رویداد ایجاد بشه، یعنی به صرف کپی کردن کد، کد درست کار نمی کنه
سلام دوست عزیز…ممنون از لطفتون….انشالله کتاب “سی شارپ به زبان ساده” که نسخه کامل همین سایته رو به زودی واسه دانلود میارم
سلام، از مطالب مفید و روان سایت شما بسیار استفاده کردم، متشکرم که این آموزش ها را قرار دادید.
با اجازه همه مطالب رو در سیستم خودم ذخیره کردم.
شاد ، موفق و سلامت باشید.