Membuat Jam Analog pada VB.NET
MEMBUAT JAM ANALOG DENGAN VB NETKeteranganDi sini, jam analog telah dibuat dengan perpustakaan kontrol VB.NET. Ini adalah kontrol jam yang memiliki hampir semua fungsionalitas bahwa jenis kontrol dapat memiliki, dan itu sepenuhnya dapat disesuaikan. Karena ini adalah perpustakaan kontrol,Anda dapat menggunakannya dalam C + +, C # proyek, J #, dan VB.NET dalam lingkungan. NET.Saya membuat kontrol ini untuk membantu seseorang dalam VB Forum. Pada awalnya, itu adalah sebuah jam yang sangat sederhana, tapi kemudian menjadi agak maju setelah saya menambahkan banyak properti, peristiwa, dan fungsi yang membuat jamsangat fleksibelTambah ComponentAkhirnya, Anda drag dan drop kontrol ke formulir Anda. Juga, dalam rangka untuk melihat deskripsi dari sifat atau metode dalamDesigner Kode, Anda harus menyalin "AnalogClockLib.xml" file ke dalam folder proyek anda.Latar belakangKontrol jam adalah UserControl Windows. Hampir semua elemen dari jam telah dibangun (inti dari elemen) dengan tipe data GraphicsPath. Mereka berisi anggota Basis Path-variabel yang merupakan GraphicsPath elemen. Ini Base-Jalan yang digunakan berbeda untuk setiap elemen. Misalnya, penanda Base-Path merupakan GraphicsPath dibangun di 12 posisi jam dan dibandingkan diputar menggunakan objek Matrix. Karena itu diputar hanya sekali, tidak ada kebutuhan kedepan benda pembantu lainnya. Jam tangan ini memiliki variabel anggota dua GraphicsPath Jenis: Base-jalan dan Shift-jalan. The Base-Jalan tangan selalu diposisikan pada 12 jam o ', dan hanya dibentuk kembali jika bentuk elemen (lebar, panjang, atau gaya) yang dimodifikasi. Di sisi lain, Shift-Path adalah GrapicsPath sebenarnya tangan pada waktu tertentu. Pergeseran-Path adalah salinan diputar Base-jalan.Menggunakan KodeMeskipun Anda dapat melakukan hampir semua hal dengan kontrol ini, saya akan menunjukkan Anda hanya bagaimana melukis jam tangan jam dengan PathGradientBrush a. Catatan, dalam mode ini, Anda bisa melukis elemen dengan sikat apapun.Hal ini sangat bagus untuk melihat gradien jam tangan itu, jadi di sini adalah bagaimana Anda bisa melakukan itu. Pada dasarnya, Anda mengeset properti Brush dari tangan ke objek yang baru dibuat gradien kuas dalam acara cat tangan '.Collapse | Copy Kode E ByVal Sebagai AnalogClock.PaintEventArgs) Menangani Clock1.HourHandPainting
' br.CenterColor = Color.White
br.SurroundColors = Warna Baru () {} Me.Clock1.HourHand.Color
e.Brush = br
br.Dispose ()
End IfEnd SubDalam beberapa situasi, Anda mungkin perlu mengatur waktu jam ke waktu mulai. Untuk hal ini, kita perlu melakukan sedikit perhitungan dan mengatur properti UtcOffset sesuai. Berikut ini adalah bagaimana kita bisa melakukan itu:Collapse | Copy Kode Dim CDT Sebagai DateTime = CDate ("# 17:20:35 #") 'Beberapa waktu awal kustom untuk jam.
Dim utcDt Sebagai DateTime = 'DateTime.UtcNow The datetime UTC saat ini."Hal ini diperlukan karena jam kerja internal dengan UTC datetime.
Me.Clock1.UtcOffset = New TimeSpan (0, cdt.Hour - utcDt.Hour, _
cdt.Minute - utcDt.Minute, cdt.Second - utcDt.Second)Kadang-kadang orang bertanya padaku mengapa jam adalah satu jam off setelah daylight savings atau bagaimana kita bisa yakin bahwa jam menunjukkan waktu yang tepat selalu. Nah, jika hal ini terjadi pada anda, maka Anda perlu memastikan bahwa UtcOffset jam adalah selalu akurat. Ini adalah bagaimana Anda bisa melakukannya:Collapse | Copy KodePrivate Sub Form1_Load (ByVal sender Sebagai System.Object, _ByVal e Sebagai System.EventArgs) Menangani MyBase.Load
'Set UTC offset untuk sistem utc diimbangi ketika beban aplikasi
Me.Clock1.UtcOffset = TimeZone.CurrentTimeZone.GetUtcOffset (DateTime.Now)End SubPrivate Sub Clock1_TimeChanged (ByVal pengirim Sebagai System.Object, _E ByVal Sebagai System.EventArgs) Menangani Clock1.TimeChanged
'Set UTC offset untuk sistem utc mengimbangi setiap perubahan waktu jam waktu.
'Jika properti memiliki nilai yang sama akan melakukan apa-apa.
Me.Clock1.UtcOffset = TimeZone.CurrentTimeZone.GetUtcOffset (DateTime.Now)End Sub.
Untuk menggunakan kontrol, Anda hanya perlu menambahkannya ke dalam Toolbox VS.NET. Klik kanan di daerah Toolbox, dan pilih"Pilih Produk" item menu. Ini kemudian akan membuka "Pilih Item Toolbox" window. Anda pergi ke direktori yang berisi"AnalogClockLib.dll" file dan pilih, kemudian klik tombol OK. Ini akan menambah kontrol ke Toolbox.Private Sub Clock1_HourHandPainting (pengirim ByVal Sebagai Obyek, _"Pastikan grafis jalan jam tangan mengandung lebih dari 2 poin.
Jika Me.Clock1.HourHand.Path.PointCount> 2 LaluMembuat gradien jam tanganDim br Sebagai Drawing2D.PathGradientBrush Baru (Me.Clock1.HourHand.Path)
Private Sub Form1_Load (ByVal sender Sebagai System.Object, _ByVal e Sebagai System.EventArgs) Menangani MyBase.Load
End Sub
0 comments: