PDA

View Full Version : drag & drop مجازی



prince-of-persia
یک شنبه 22 بهمن 1385, 14:27 عصر
سلام

من یک برنامه دارم که در فرمی از برنامه باید محیطی شبیه ویندوز XP شبیه سازی بشه. برای اینکار من یک explorer bar , یک list view و یک image viewer دارم .
حالا میخوام کاربر بتونه عکسی هایی که داخل image viewer هست رو drag کنه (که باید آیکون ماوس تغییر کنه و + داشته باشه) و وقتی که بر روی یکی از task item های یکی از expando های explorer bar میرود و رها می شود یک سری دستور اجرا شوند.(مثلا درج یا اصلاح در بانک)
در واقع با کلیک شدن بر روی هر item میخوام icon ماوس تغییر کنه . اما نمی خوام واقعا عمل drog drop رخ بده چون این عمل ظاهرا فایل را کپی کرده یا یک میانبر به آن ایجاد میکند.در حالی که من نیازی به این کارها ندارم و می خواهم کارهای دلخواه انجام دهم.

اگر کسی کدی داره یا راهی میدونه بگه

با تشکر

Alireza_Salehi
یک شنبه 22 بهمن 1385, 17:38 عصر
اگر منظورتون رو درست فهمیده باشم می تونید از رویدادهای MouseDown و MouseUP به همراه یک متغییر Boolean استفاده کنید و هم آیکون رو تغییر بدید و هم کاری که می خواهید انجام بدید!


ِDim c As Cursor = new Cursor("مسیر فایل")
Me.Cursor = c

prince-of-persia
دوشنبه 23 بهمن 1385, 10:02 صبح
مشکل دیگه اینه که اگر به فرض خارج از برنامه من کلید ماوس رو رها کرد چطور آیکون ماوس رو برگردونم؟
تصویر زیر نمای برنامه است و مشخص کردم که می خوام چیکار کنم . اگر کسی نظری داره بگه

Alireza_Salehi
دوشنبه 23 بهمن 1385, 11:13 صبح
مشکل دیگه اینه که اگر به فرض خارج از برنامه من کلید ماوس رو رها کرد چطور آیکون ماوس رو برگردونم؟



Private Sub Form1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
Me.Cursor = Cursors.Hand
End Sub

Private Sub Form1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
Me.Cursor = Cursors.Arrow
End Subمشکلی نداره بازم کار انجام میشه !

prince-of-persia
دوشنبه 23 بهمن 1385, 12:24 عصر
ممنون
اما Cursors همه Cursor ها رو نداره مثلا برای cut یا کپی اونها رو چطوری بیارم اگر نخوام از فایل لود کنم.چون میخوام با تغییر Cursors های ویندوز برنامه من هم عوض بشه

با تشکر

prince-of-persia
دوشنبه 23 بهمن 1385, 14:27 عصر
دستورات شما رو استفاده کردم اما یک مشکلی هست.
و اون اینکه اگر click مثلا در یک فریم بشود دیگر رویداد mouseup فرم اجرا نخواهد شد.
چه راهی را پیشنهاد می کنید؟

Alireza_Salehi
دوشنبه 23 بهمن 1385, 21:47 عصر
اون روشی که تو پست 2 گفتم غیر از فایل از جاهای دیگه هم میاره (4 روش).

خب این رویدادها رو برای فریم بنویس!