PDA

View Full Version : DragDrop



eyes_shut_number1
دوشنبه 04 تیر 1386, 00:41 صبح
دوستان با شرمندگی
میتونید بگید چطوری DragDrop منظورم همون Copy Paste رو روی تکس باکسم ببندم؟
ممنون

malizadeh
دوشنبه 04 تیر 1386, 01:31 صبح
اگه منظورت Ctrl + C و Ctrl + V است . کافی برای خاصیت keydown تکست باکس اینو بنویسی
If e.Control = True Then
Clipboard.Clear()
End If
اینجوری هر وقت کسی رو تکست باکست کلید کنترل رو زد حافظه کلیپ برد خالی می شه.

البته بسته به نیاز خودت می تونی تغییر بدیش.

eyes_shut_number1
دوشنبه 04 تیر 1386, 10:18 صبح
دوستان با شرمندگی
میتونید بگید چطوری DragDrop منظورم همون Copy Paste رو روی تکس باکسم ببندم؟
ممنون
WITH DRAGDROP EVENT!
NO Keydown Or Key up

ghafoori
دوشنبه 04 تیر 1386, 12:28 عصر
دوست عزیز اگر خاصیت allow drop برابر false باشد که دیگر نمی توان داخل تکس باکس دراگ کرد
یا منظور شما چیز دیگری است

eyes_shut_number1
دوشنبه 04 تیر 1386, 13:27 عصر
آقای قفوری از توجهتون ممنون!
گفتم که از طریق رویداد DRAGDROP میخوام این کار رو بکنم
کاری هم که شما گفتین کردم ولی جواب نداد
البته راه دوستمون کاربر Malizadeh هم میدونستم!ولی با این کار کلیپ برد را کامل پاک میکنیم!
شاید بخواهیم در جای دیگه از آن استفاده کنیم.
ممنمون میشم راه نماییم کنید

eyes_shut_number1
دوشنبه 04 تیر 1386, 21:00 عصر
ممنون میشم اگه راهنماییم کنید چطوری میتونم از رویداد درگدراپ این کار را بکنم؟

ghafoori
دوشنبه 04 تیر 1386, 21:54 عصر
داخل رویداد drag enter ببینید این کد جواب می دهد


Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter
e.Effect = DragDropEffects.None
End Sub

eyes_shut_number1
دوشنبه 04 تیر 1386, 23:31 عصر
نه !جواب نداد!
راه دیگهای نداره؟

saeed_rezaei
چهارشنبه 06 تیر 1386, 23:32 عصر
dragdrop عموما شامل سه مرحله می شه.
1- انتخاب متن، یا هر چیزی که می خوایم انتقال بدیم. یعنی شروع کار
2- dargenter. این متد زمانی اجرا می شه که شما مثلا متن رو گرفتید و حالا آوردید روی جعبه متن دومی. اما هنوز drop نشده. در این مرحله مشخص می کنید که چه چیزی می خواید drop بشه و یا نوعش چی هست. copy,move or none
3: dragdrop: در این مرحله شما متن رو انتخاب کردید، کشاندید روی جعبه متن دوم و عمل drop رو انجام دادید.
در طی سه عمل فوق هست که هر گونه عملیات drag drop شکل می گیره.
کد یه مثال رو واست می زنم. یه مثال با دوتا textbox. می خوایم متن textbox1 رو drag کنیم توی textbox2.


Private Sub TextBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
TextBox1.SelectAll()
TextBox1.DoDragDrop(TextBox1.Text, DragDropEffects.Copy)
End If
End Sub

Private Sub TextBox2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox2.DragDrop
TextBox2.Text = e.Data.GetData(DataFormats.Text, True).ToString
End Sub

Private Sub TextBox2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox2.DragEnter
If e.Data.GetDataPresent(DataFormats.Text) Then
e.Effect = DragDropEffects.Copy
End If
End Sub