Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

Bagaimana cara menambahkan fungsionalitas drag-and-drop TreeView dalam Visual Basic.Aplikasi NET atau Visual Basic 2005

PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.

Klik disini untuk melihat versi Inggris dari artikel ini:307967
Untuk Microsoft Visual C#.NET versi ini Pasal, lihat 307968.
Untuk versi Microsoft Visual Basic 6.0 ini Pasal, lihat 177743.

DALAM TUGAS INI

RINGKASAN
Artikel ini menunjukkan cara melakukan drag-and-drop operasi dengan node pohon antara dua TreeView kontrol Visual Basic.Aplikasi NET atau Visual Basic 2005.

back to the top

Persyaratan

Daftar berikut menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang Anda butuhkan:
  • Visual Basic.NET atau Visual Basic 2005
Artikel ini mengasumsikan bahwa Anda sudah familiar dengan berikut topik:
  • Windows Forms TreeView kontrol
  • Penanganan event Windows Forms
back to the top

Deskripsi teknik

The TreeView kontrol menyediakan tiga drag-and-drop peristiwa yang Anda harus menangani:
  • ItemDrag: Acara ini dibesarkan dari sumber TreeView kontrol ketika user menjalankan menyeret node pohon. Kapan Hal ini terjadi, hubungi DoDragDrop metode untuk memulai prosedur drag-and-drop.
  • DragEnter: Setelah Anda memulai operasi drag dan drop, Anda harus menangani The DragEnter acara di tujuan TreeView kontrol. Peristiwa ini terjadi ketika pengguna menyeret TreeNode objek dari sumber TreeView mengendalikan ke titik dalam batas-batas tujuan TreeView kontrol. The DragEnter acara memungkinkan tujuan TreeView kontrol untuk menentukan apakah operasi drag berlaku untuk ini kontrol. Kode contoh dalam artikel ini memungkinkan hanya pindah operasi.
  • DragDrop: Acara terakhir untuk menangani ini DragDrop acara tujuan TreeView kontrol. Peristiwa ini terjadi ketika TreeNode objek yang diseret telah dijatuhkan pada tujuan TreeView kontrol. Untuk menangani acara ini, mengambil TreeNode objek, dan menambahkan objek ke tujuan TreeView kontrol. Contoh kode menggunakan Data objek untuk mengambil data.
Kode contoh dalam artikel ini menjamin bahwa TreeNode objek telah menyeret ke tujuan TreeView kontrol. The GetData metode Data objek mengambil node yang diseret dari sumber kontrol. The GetNodeAt metode menentukan di mana node ini dijatuhkan di tujuan kontrol. Setelah Anda menentukan posisi, menambahkan sumber node sebagai anak node tujuan. Karena contoh ini melakukan operasi bergerak, yang terakhir langkah adalah untuk menghapus node sumber dari asli TreeView kontrol.

back to the top

Langkah-langkah untuk membuat sampel

  1. Membuat aplikasi Windows baru dalam Visual Basic.BERSIH atau pada Visual Basic 2005. Form1 dibuat secara default.
  2. Penggunaan peralatan untuk menambahkan dua TreeView kontrol untuk Form1. TreeView1 dan TreeView2 dibuat secara default.
  3. Agar TreeView kontrol untuk menyeret dan menjatuhkan, mengubah AllowDrop properti kedua TreeView1 dan TreeView2 untuk Benar dalam jendela properti.
  4. Klik dua kali Form1 untuk menghasilkan handler metode untuk Beban acara Form1. Tambahkan kode berikut untuk mengisi dua TreeView kontrol dengan TreeNode objek:
    Private Sub Form1_Load(ByVal sender As System.Object, _                        ByVal e As System.EventArgs) Handles MyBase.Load    Dim ParentNode1 As TreeNode    Dim ParentNode2 As TreeNode    ParentNode1 = TreeView1.Nodes.Add("tv1")    With ParentNode1        .Nodes.Add("tv1FirstChild")        .Nodes.Add("tv1SecondChild")        .Nodes.Add("tv1ThirdChild")        .Nodes.Add("tv1FourthChild")        .Expand()    End With    ParentNode2 = TreeView2.Nodes.Add("tv2")    With ParentNode2        .Nodes.Add("tv2FirstChild")        .Nodes.Add("tv2SecondChild")        .Expand()    End WithEnd Sub					
  5. Tambahkan penangan metode berikut untuk menangani ItemDrag acara baik TreeView1 atau TreeView2, tergantung pada arah operasi drag. Kode ini memulai operasi bergerak pada item yang sedang diseret.
        Public Sub TreeView_ItemDrag(ByVal sender As Object, _                                  ByVal e As ItemDragEventArgs) _                                  Handles TreeView1.ItemDrag, TreeView2.ItemDrag        DoDragDrop(e.Item, DragDropEffects.Move)    End Sub					
  6. Tambahkan penangan metode berikut untuk menangani DragEnter peristiwa TreeView1 atau TreeView2, tergantung pada arah operasi drag:
        Public Sub TreeView_DragEnter(ByVal sender As Object, _                               ByVal e As DragEventArgs) _                               Handles TreeView2.DragEnter, TreeView1.DragEnter        e.Effect = DragDropEffects.Move    End Sub					
  7. Menambahkan metode berikut untuk kelas Form1 jadi itu segera mengikuti metode yang ditambahkan pada langkah sebelumnya:
    Public Sub TreeView_DragDrop(ByVal sender As Object, _                              ByVal e As DragEventArgs) _                              Handles TreeView2.DragDrop, TreeView1.DragDrop        Dim NewNode As TreeNode        If e.Data.GetDataPresent("System.Windows.Forms.TreeNode", False) Then            Dim pt As Point            Dim DestinationNode As TreeNode            pt = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y))            DestinationNode = CType(sender, TreeView).GetNodeAt(pt)            NewNode = CType(e.Data.GetData("System.Windows.Forms.TreeNode"), _                                            TreeNode)            If Not DestinationNode.TreeView Is NewNode.TreeView Then                DestinationNode.Nodes.Add(NewNode.Clone)                DestinationNode.Expand()                'Remove original node                NewNode.Remove()            End If        End IfEnd Sub					
  8. Membangun dan menjalankan proyek. Tarik node dari salah satu TreeView kontrol ke yang lain. Perhatikan bahwa node dihapus dari kontrol sumber dan ditambahkan sebagai anak simpul di tujuan kontrol.
back to the top

Catatan

Sampel yang tersedia di dalam artikel ini ditujukan untuk demonstrasi tujuan saja; dengan demikian, sampel hanya menggambarkan bagaimana menggunakan The TreeView kontrol dalam skenario yang disederhanakan. Untuk menjaga sampel kecil, beberapa skenario yang tidak dipertimbangkan. Sebagai contoh, Apakah kode memungkinkan Anda untuk melakukan operasi drag-and-drop dengan node yang sama TreeView kontrol.

Kode juga tidak menangani skenario di yang pengguna tidak menjatuhkan objek pada node tertentu di tujuan TreeView kontrol. Untuk menangani skenario ini, periksa jika DestinationNode nol; Jika, Anda dapat menambahkan objek yang sedang diseret ke akar TreeView kontrol, dan seterusnya.

back to the top
REFERENSI
Untuk informasi lebih lanjut, lihat topik berikut di .NET Framework Software Development Kit (SDK) dokumentasi:

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 307967 - Tinjauan Terakhir: 09/24/2011 15:26:00 - Revisi: 2.0

Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic 2005

  • kbvs2005applies kbvs2005swept kbhowtomaster kbmt KB307967 KbMtid
Tanggapan
r Route = "76500"; var Ctrl = ""; document.write("