Imports CefSharp.WinForms Public Class 考勤位置設定 Private Sub Set_打卡地點() Dim ds1 As New DataSet 清單1_dgv.DataSource = Nothing : ds1.Clear() 清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 清單1_dgv.ColumnHeadersHeight = 40 : 清單1_dgv.AllowUserToAddRows = False : 清單1_dgv.RowTemplate.Height = 25 SQL_考勤地點() da.Fill(ds1) : 清單1_dgv.DataSource = ds1.Tables(0) : conn.Close() 清單1_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.0" 清單1_dgv.Columns(0).FillWeight = 110 : 清單1_dgv.Columns(1).FillWeight = 80 : 清單1_dgv.Columns(2).FillWeight = 80 : 清單1_dgv.Columns(3).FillWeight = 40 清單1_dgv.Columns(0).ReadOnly = True : 清單1_dgv.Columns(1).ReadOnly = True : 清單1_dgv.Columns(2).ReadOnly = True End Sub Private Sub 查詢_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查詢_bt.MouseEnter ToolTip1.SetToolTip(Me.查詢_bt, "查詢") End Sub Private Sub 新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增_bt.MouseEnter ToolTip1.SetToolTip(Me.新增_bt, "新增") End Sub Private Sub 確認新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 確認新增_bt.MouseEnter ToolTip1.SetToolTip(Me.確認新增_bt, "確認新增") End Sub Private Sub 刪除_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除_bt.MouseEnter ToolTip1.SetToolTip(Me.刪除_bt, "刪除") End Sub Private Sub 考勤位置設定_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'Me.MdiParent = GRAMS_SYS : Me.WindowState = 2 : Me.AutoScroll = True 清單1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) MyBrowser.Controls.Clear() PA50 = "https://www.google.com/maps/@15z?" & "hl=zh-TW" & "&basemap=satellite" Dim browser As New ChromiumWebBrowser(PA50) : browser.Dock = DockStyle.Fill : MyBrowser.Controls.Add(browser) End Sub Private Sub 考勤位置設定_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown 計算分流.Enabled = True End Sub Private Sub 計算分流_Tick(sender As Object, e As EventArgs) Handles 計算分流.Tick 計算分流.Enabled = False : Set_打卡地點() End Sub Private Sub 清單1_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 清單1_dgv.CellClick If e.RowIndex = -1 Then : Else 地點_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(0).Value.ToString : 經度_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(1).Value.ToString 緯度_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(2).Value.ToString : 誤差容許_nud.Value = 清單1_dgv.Rows(e.RowIndex).Cells(3).Value.ToString Dim lat1 As Double = 清單1_dgv.Rows(e.RowIndex).Cells(2).Value.ToString Dim lon1 As Double = 清單1_dgv.Rows(e.RowIndex).Cells(1).Value.ToString MyBrowser.Controls.Clear() PA50 = "https://www.google.com/maps/@" & lat1 & "," & lon1 & ",20z?" & "hl=zh-TW" & "&basemap=satellite" Dim browser As New ChromiumWebBrowser(PA50) : browser.Dock = DockStyle.Fill : MyBrowser.Controls.Add(browser) End If End Sub Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click If 地點_tb.Text = "" Or 經度_tb.Text = "" Or 緯度_tb.Text = "" Then : MsgBox("必要的資料沒有選擇或有缺失!!") : Else If 清單1_dgv.Rows.Count > 0 Then lastFoundRowIndex = -1 : lastFoundColIndex = -1 : 查詢DGV中的關鍵字_自動(清單1_dgv, 地點_tb) If lastFoundRowIndex > -1 Then : MsgBox("該地點已經新增過GPS資料,如果要更換位置請點擊 [存檔] 的按鈕!!") : Else PA1 = 地點_tb.Text : PA2 = 經度_tb.Text : PA3 = 緯度_tb.Text : PA4 = 誤差容許_nud.Value : SQL_考勤地點新增() : Set_打卡地點() : MsgBox("新增完成!!") End If Else PA1 = 地點_tb.Text : PA2 = 經度_tb.Text : PA3 = 緯度_tb.Text : PA4 = 誤差容許_nud.Value : SQL_考勤地點新增() : Set_打卡地點() : MsgBox("新增完成!!") End If End If End Sub Private Sub 確認新增_bt_Click(sender As Object, e As EventArgs) Handles 確認新增_bt.Click If 地點_tb.Text = "" Or 經度_tb.Text = "" Or 緯度_tb.Text = "" Then : MsgBox("必要的資料沒有選擇或有缺失!!") : Else PA1 = 地點_tb.Text : PA2 = 經度_tb.Text : PA3 = 緯度_tb.Text : PA4 = 誤差容許_nud.Value : SQL_考勤地點修改() : Set_打卡地點() : MsgBox("修改完成!!") End If End Sub Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click If 地點_tb.Text = "" Or 經度_tb.Text = "" Or 緯度_tb.Text = "" Then : MsgBox("必要的資料沒有選擇或有缺失!!") : Else Dim result As DialogResult = MessageBox.Show("請確定是否要刪除該資料!", "請選擇", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If result = DialogResult.Yes Then : SQL_考勤地點刪除() : Set_打卡地點() : MsgBox("刪除完成!!") End If End If End Sub Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click PA4 = InputBox("請輸入從GOOGLE地圖上複製下來的GPS資料") Dim parts() As String = PA4.Split(","c) : Dim latitude As String = parts(0).Trim() : Dim longitude As String = parts(1).Trim() Dim formattedLatitude As String = Strings.Format(CDbl(latitude), "#0.0000000000") : Dim formattedLongitude As String = Strings.Format(CDbl(longitude), "#0.0000000000") 緯度_tb.Text = formattedLatitude : 經度_tb.Text = formattedLongitude End Sub End Class