Drag and Drop

sicret

Member
Drag and Drop vb.net

چطری می تونم توی vb.net بدون نیاز به نوشتن برنامه زیاد یک باتون را درگ کنم و در باتون دیگر دراپ کنم و اطلاعاتشو به اون باتون بدم خواهشا کمکم کنید:rose:
 
آخرین ویرایش:

the_king

مدیرکل انجمن
چطری می تونم توی vb.net بدون نیاز به نوشتن برنامه زیاد یک باتون را درگ کنم و در باتون دیگر دراپ کنم و اطلاعاتشو به اون باتون بدم خواهشا کمکم کنید:rose:

منظورتون از اطلاعات Button چیه؟ زمانی که شما یک Button رو به سمت Button دیگری Drag می کنید قراره که
Button به سمت مقصد جابجا بشه؟ لطفا با جزئیات بیشتر منظورتون رو مشخص کنید.
 

sicret

Member
منظورتون از اطلاعات Button چیه؟ زمانی که شما یک Button رو به سمت Button دیگری Drag می کنید قراره که
Button به سمت مقصد جابجا بشه؟ لطفا با جزئیات بیشتر منظورتون رو مشخص کنید.
مثلا یه Button رو Drag کنیم و روی یه Buttom دییگه Drop کنیم خصوصیت تکست Button ای که روش Button اول رو Drop کردیم بشه خصوصیت تکست باتون اولی
ایجا منظورم رو با یه سوال واضح تر می کنم
چجوری کاری کنم که بشه Button رو Drag کنم چون هر چی روشون کلیک میکنم و میکشم هیچ اتفاقی نمیفته همین:rose:
 

the_king

مدیرکل انجمن
مثلا یه Button رو Drag کنیم و روی یه Buttom دییگه Drop کنیم خصوصیت تکست Button ای که روش Button اول رو Drop کردیم بشه خصوصیت تکست باتون اولی
ایجا منظورم رو با یه سوال واضح تر می کنم
چجوری کاری کنم که بشه Button رو Drag کنم چون هر چی روشون کلیک میکنم و میکشم هیچ اتفاقی نمیفته همین:rose:

مشکل اینه که دارین کاری رو انجام می دهید که اصولا با Button ها انجام نمی دهند.

دو دکمه Button1 و Button2 را روی فرم قرار دهید و کد های زیر رو به کد های فرم اضافه کنید :
کد:
    Private src As Button

    Private Sub AllowDragButton(ByRef obj As Button)
        obj.AllowDrop = True
        AddHandler obj.MouseDown, AddressOf Button_MouseDown
        AddHandler obj.DragOver, AddressOf Button_DragOver
        AddHandler obj.DragDrop, AddressOf Button_DragDrop
    End Sub

    Private Sub Button_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        src = sender
        DoDragDrop("", DragDropEffects.Copy)
    End Sub

    Private Sub Button_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs)
        e.Effect = DragDropEffects.Copy
    End Sub

    Private Sub Button_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs)
        Dim obj As Button = sender
        obj.Text = src.Text
        obj.TextAlign = src.TextAlign
        obj.Font = src.Font
    End Sub
.
.
.

توابع بالا به خودی خود اجرا نخواهند شد، پس از رخداد Form1_Load برای متصل کردن شان به Button ها
استفاده می کنیم. یعنی برای اینکه دکمه های Button1 و Button2 قابلیت Drag داشته باشند از تابع
AllowDragButton استفاده کنید :
کد:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
[B][COLOR="Blue"]        AllowDragButton(Button1)
        AllowDragButton(Button2)[/COLOR][/B]
    End Sub

دقت کنید که برای هر دکمه دیگری که خواستید چنین قابلیتی را داشته باشد نیز از AllowDragButton
استفاده خواهید کرد.
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا