Posisikan kursor tunggu pada tombol di dalam kotak grup

pemrograman


Menggunakan VB 2008 Ekspres.
Saya memiliki formulir Utama yang memiliki sejumlah Kotak Grup.

Sesuai keinginan, saya berhasil memposisikan Kursor Tunggu pada kontrol di Formulir Utama yang TIDAK berada dalam kotak grup menggunakan baris kode berikut: (anggap Tombol1 TIDAK berada dalam Kotak Grup)

Kursor.Posisi = PointToScreen(Tombol1.Lokasi)
Kursor = Kursor.TungguCursor
Aplikasi.DoEvents()

Namun, jika Button1 diposisikan di dalam Kotak Grup (mis. GroupBox1), saya belum menemukan cara mengarahkan kursor ke tombol itu. Sebaliknya itu akan ditempatkan di beberapa lokasi lain di Formulir Utama yang tidak berada dalam GroupBox1.

Saya sudah mencoba variasi berikut ini namun tidak berhasil:

Kursor.Posisi = PointToScreen(Button1.Location), dan
Kursor.Posisi = PointToScreen(GroupBox1.Button1.Location)

Tidak ada kesalahan yang dihasilkan tetapi hasil yang diinginkan tidak diperoleh.
Saya yakin ini ada hubungannya dengan fakta bahwa properti lokasi tombol di dalam kotak grup relatif terhadap kotak grup di pojok kiri atas. Tapi VB menempatkan kursor seolah-olah properti lokasi tombol relatif terhadap sudut kiri atas Formulir Utama.
Sangat menghargai bimbingan – Terima kasih, Mike

Apa yang saya coba:

Cursor.Position = PointToScreen(Button1.Location), and
Cursor.Position = PointToScreen(GroupBox1.Button1.Location)

Solusi 1

Lokasi kontrol selalu relatif terhadap wadahnya: jika Anda memiliki GroupBox pada Formulir, dan GroupBox berisi Tombol, maka myGroupBox.Location relatif terhadap sudut kiri atas myForm.ClientRectangle, dan myButton.Location bersifat relatif ke sudut kiri atas myGroupBox.ClientRectangle.

Jadi untuk mengidentifikasi Lokasi myButton relatif terhadap myForm, Anda perlu menambahkan myButton.Location ke myGroupBox.Location – hasilnya relatif terhadap sudut kiri atas Form.ClientArea. Anda kemudian dapat menggunakan PointToScreen untuk mengidentifikasi letaknya relatif terhadap sudut kiri atas monitor sebenarnya.

Masuk akal?

Solusi 2

pegangan asli,
Itu sangat masuk akal dan sejalan dengan apa yang saya pikir mungkin terjadi.

Namun, saya tidak paham cara melakukannya dalam kode.
Bisakah Anda memberi saya sebuah contoh?
Terima kasih.

コメント

タイトルとURLをコピーしました