Tips Membuat "Select All + Copy" Pada ListBox C#


Ah, lama workshop ini tidak menerbitkan artikel. Workshop yang dikelola secara mandiri ini memang sering beralih fungsi. Dan pemiliknya kadang hilang, kadang muncul.

Okelah, kita mulai saja dengan artikel ringan. Pernahkah kalian menemui sebuah list box atau kotak menu sebuah aplikasi/software/program yang dapat dipilih lebih dari satu? Atau mungkin kita bisa menyalin beberapa menu yang kita pilih dari kotak menu tersebut? Pada pemrograman C# tentu hal ini bisa kita buat. Bagaimana caranya?

Disini saya menggunakan Visual Studio 2017. Pertama kita buat terlebih dahulu project baru dengan pilih dan klik File, kemudian New, pilih Project. Akan terbuka jendela New Project, pilih pada Windows Desktop (panel menu sebelah kiri), kemudian pada panel menu sebelah kanan pilih Windows Forms App. Di bagian bawah, isikan nama project sesuai keiinginan kalian, bebas.



Selanjutnya kita akan menjumpai tampilan box panel kosong yang siap kita isikan dengan item atau item apapun. Jika box panelnya terlalu besar, kalian bisa kecilkan.

Kemudian pilih Listbox dari menu All Windows Forms pada kotak Toolbox sebelah kiri, lalu letakkan pada panel kosong tadi. Atur ukuran sesuai dengan keinginan kalian. Setelah itu pilih listbox1 yang telah kita buat tadi pada panel kosong. Kemudian periksa Properties yang biasanya ada pada sebelah pojok kanan bawah. Pada panel Properties, cari bagian Behavior, atau langsung saja cari pilihan SelectionMode. Sebelumnya di bagian SelectionMode ini terpilih One, ubahlah dengan memilih MultiExtended.


Jika sudah, kita akan coba isikan list box tadi dengan beberapa menu item. Bebas kita isi apa saja. Caranya bisa melalui kode program, atau dengan visual. Kali ini kita gunakan cara sederhana secara visual, pilih listbox1 pada panel, perhatikan pojok kanan atas terdapat ikon segitiga ke kanan. Pilih dan klik ikon tersebut, kemudian pilih Edit Items... . Isikan beberapa menu items asal pada jendela yang terbuka.


Maka tampilannya akan seperti gambar pertama di bawah. Setelah memasukkan item ke dalam list box, langkah selanjutnya yaitu koding. Di pojok kanan bawah atau pada bagian panel Properties, pilih Events (ikon petir), cari bagian Key. Atau langsung cari bagian KeyDown. Klik ganda di bagian dropdown sebelah kanan KeyDown, maka tampilan akan beralih ke tampilan kode program.


Perhatikan pada bagian fungsi listBox1_KeyDown, terdapat kurung kurawal kosong. Isikan kode program seperti berikut:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
private void listBox1_KeyDown(object sender, KeyEventArgs e)
{//untuk pilih banyak dan copy pake ctrl+c
    if (e.Control == true && e.KeyCode == Keys.C)
    {
        StringBuilder sb = new StringBuilder();
        foreach (object row in listBox1.SelectedItems)
        {
            sb.Append(row.ToString());
            sb.AppendLine();
        }
        sb.Remove(sb.Length - 1, 1);
        //string s = listBox1.SelectedItem.ToString();
        Clipboard.SetData(DataFormats.Text, sb.ToString());
    }
}

Setelah itu jalankan program. Coba dengan memilih salah satu menu yang kita buat tadi, kemudian tekan kombinasi tombol di keyboard Ctrl+C, kemudian Paste-kan ke notepad atau ke word atau ke yang lain. Pastikan menu yang di-copy adalah benar.



Apabila berhasil, pilih beberapa menu dan cobalah untuk copy paste. Pastikan beberapa menu yang dipilih atau di-copy, sesuai ketika di-paste-kan.

Dan selesailah artikel ringan ini. Jika ada yang belum mengerti, ada pertanyaan, atau yang lain jangan ragu untuk memberikan komentar di bawah. Semoga bermanfaat, dan terima kasih.



Referensi:
https://www.c-sharpcorner.com/UploadFile/0f68f2/cut-copy-paste-select-all-clear-all-on-a-listbox/
https://stackoverflow.com/questions/36594121/transfer-multi-selected-items-from-listbox-to-another-listbox

Posting Komentar

0 Komentar