نمایش نتایج 1 تا 3 از 3

نام تاپیک: Drag a picture and Drop it on pictureBox

  1. #1

    Drag en drop

    سلام
    با کد زیر می شه فابلهای عکس را از طریق درگ در pictureBox نمایش داد.


    privatevoid pictureBox1_DragEnter(object sender, DragEventArgs e)
    {
    e.Effect = DragDropEffects.Move;
    }
    privatevoid pictureBox1_DragDrop(object sender, DragEventArgs e)
    {
    string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
    pictureBox1.Image = Image.FromFile(files[0]);
    }

    توجه کنید که به دلیل نبود خاصیت pictureBox1.AllowDrop درپنجره خواص، باید آنرا در
    Form1_Load ،مقدار true داد.

    راه دوم:
    اینه که با یه تغییر، این دستورات را در رویدادهای مشابه فرمی که pictureBox1 در آن قراردارد قرار دهیم .

    int x = this.PointToClient(newPoint(e.X, e.Y)).X;
    int y = this.PointToClient(newPoint(e.X, e.Y)).Y;
    if (x >= pictureBox1.Location.X && x <= pictureBox1.Location.X + pictureBox1.Width && y >= pictureBox1.Location.Y && y <= pictureBox1.Location.Y + pictureBox1.Height)
    {
    string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
    pictureBox1.Image = Image.FromFile(files[0]);
    }
    آخرین ویرایش به وسیله arshia_m : دوشنبه 12 فروردین 1387 در 18:19 عصر

  2. #2
    ممنون - نکته ی خوبی بود (هر چند اگر قبلا، به شکلی دیگر در تاپیک نکات وجود داشت)

    من میخوام به همه ی دوستان پیشنهاد کنم که هرکس روی یک زمینه تمرکز کنه و یک تاپیک آموزشی رو دست بگیره و در هر تاپیک هم فقط در مورد همون موضوع صحبت بشه ...

    برای مثال این دوستمون میتونند روی drag & drop و سایر خصوصیات کنترلها تمرکز کنند، دوستی دیگر روی نحوه ی ساخت کنترلهای سفارشی و ...

    اولین نتیجه ی مثبت این کار هم عاید خود نگارنده ی تاپیک میشه؛ چون وقتی قرار باشه یک موضوع خاص رو آموزش بدید باید جزییات زیادی در موردش بخونید.

    یک لحظه تصور کنید تالار سی شارپ رو در حالتیکه به جای اینکه هر روز پس از لاگین با یکسری سئوالات تکراری و گاه بیهوده (چطور میشه تکستباکس فرم 2 را از فرم 1 ....) روبرو بشید، یک تاپیک آموزشی جدید ببینید : "تصور کن اگه حتی تصور کردنش سخته !"
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  3. #3
    سلام

    ممنون از محبت و پیشنهاد sin pin
    ****************
    اجازه بدین به ادامه تاپیک قبلیم مطلب زیر را اضافه کنم

    در Windows هنگام درگ کردن data وضعیتهای زیر را داریم:

    drag+shift or only drag = move

    drag+Ctrl = copy

    drag+Alt = linkd

    با چشم پوشی از نوع data اگر کد زیر را در رویداد DragOver کنترل مقصد اضافه کنیم

    حالتهای بالا در برنامه نیز پیش می آید

    // Set the effect based upon the KeyState.
    if ((e.KeyState & (8 + 32)) == (8 + 32) &&
    (e.AllowedEffect & DragDropEffects.Link) == DragDropEffects.Link)
    // KeyState 8 + 32 = CTL + ALT
    e.Effect = DragDropEffects.Link;
    elseif ((e.KeyState & 32) == 32 &&
    (e.AllowedEffect & DragDropEffects.Link) == DragDropEffects.Link)
    // ALT KeyState for link.
    e.Effect = DragDropEffects.Link;
    elseif ((e.KeyState & 4) == 4 &&
    (e.AllowedEffect & DragDropEffects.Move) == DragDropEffects.Move)
    // SHIFT KeyState for move.
    e.Effect = DragDropEffects.Move;
    elseif ((e.KeyState & 8) == 8 &&
    (e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy)
    // CTL KeyState for copy.
    e.Effect = DragDropEffects.Copy;
    elseif ((e.AllowedEffect & DragDropEffects.Move) == DragDropEffects.Move)
    // By default, the drop action should be move, if allowed.
    e.Effect = DragDropEffects.Move;
    else
    e.Effect = DragDropEffects.None;

تاپیک های مشابه

  1. چگونگی انجام عمل Drag and Drop
    نوشته شده توسط Hafez در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: جمعه 20 بهمن 1385, 09:03 صبح
  2. drag&drop
    نوشته شده توسط BAHAR REIHANI در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: جمعه 10 شهریور 1385, 12:19 عصر
  3. PictureBox با قابلیت Drag and Drop
    نوشته شده توسط saghari در بخش VB.NET
    پاسخ: 3
    آخرین پست: سه شنبه 31 مرداد 1385, 20:07 عصر
  4. drag and drop از داخل فرم به پنجره های بیرونی
    نوشته شده توسط Payman62 در بخش برنامه نویسی در 6 VB
    پاسخ: 9
    آخرین پست: یک شنبه 14 اسفند 1384, 18:41 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •