Public Class 下拉清單_1 Dim 頁數, 總頁數, F1, F2, F3, F4, F5, F6, F7, F8 As Integer Dim 有選擇, 自動查 As Boolean Dim EER As String Private Sub PnlTitleBar_Paint(sender As Object, e As PaintEventArgs) Handles PnlTitleBar.Paint End Sub Private Sub 下拉清單_1_Load(sender As Object, e As EventArgs) Handles MyBase.Load '--目前設定PPBB最長3000格------ End Sub Private Sub 下拉清單_1_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed If 有選擇 = False Then : PPAA = "" : End If End Sub Private Sub 下拉清單_1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown 風格() If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If If 系統語言 = "繁體中文" Then : 主題_lb.Text = "選擇清單" : EER = "選取的位置沒有資料!!" ElseIf 系統語言 = "English" Then : 主題_lb.Text = "Pick List" : EER = "No data available at selected location!!" ElseIf 系統語言 = "Indonesian" Then : 主題_lb.Text = "Daftar Pilih" : EER = "Tidak ada data yang tersedia di lokasi yang dipilih!!" : End If 有選擇 = False 總頁數 = NN1 / 99 + 1 : 頁數 = 1 : F1 = 0 : F2 = 24 : F3 = 25 : F4 = 49 : F5 = 50 : F6 = 74 : F7 = 75 : F8 = 99 If NN1 < 99 Then : 上一頁_bt.Enabled = False : 下一頁_bt.Enabled = False : Else : 上一頁_bt.Enabled = False : 下一頁_bt.Enabled = True : End If ListBox1.Items.Clear() : ListBox2.Items.Clear() : ListBox3.Items.Clear() : ListBox4.Items.Clear() If NN1 <= 24 Then For I As Integer = F1 To NN1 : ListBox1.Items.Add(PPBB(I)) : Next ElseIf NN1 > 24 And NN1 <= 49 Then For I As Integer = F1 To F2 : ListBox1.Items.Add(PPBB(I)) : Next : For I As Integer = F3 To NN1 : ListBox2.Items.Add(PPBB(I)) : Next ElseIf NN1 > 49 And NN1 <= 74 Then For I As Integer = F1 To F2 : ListBox1.Items.Add(PPBB(I)) : Next : For I As Integer = F3 To F4 : ListBox2.Items.Add(PPBB(I)) : Next For I As Integer = F5 To NN1 : ListBox3.Items.Add(PPBB(I)) : Next ElseIf NN1 > 74 Then For I As Integer = F1 To F2 : ListBox1.Items.Add(PPBB(I)) : Next : For I As Integer = F3 To F4 : ListBox2.Items.Add(PPBB(I)) : Next For I As Integer = F5 To F6 : ListBox3.Items.Add(PPBB(I)) : Next : For I As Integer = F7 To F8 : ListBox4.Items.Add(PPBB(I)) : Next End If End Sub Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click 查詢() End Sub Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged 查詢() End Sub Private Sub 查詢() 自動查 = True : For I As Integer = 1 To 10 : If 上一頁_bt.Enabled = True Then : 上一頁_bt.PerformClick() : Else : Exit For : End If : Next For I As Integer = 1 To 10 : Dim keyword As String = TextBox1.Text.ToLower() Dim foundInListBox1 As Boolean = SearchInListBox(ListBox1, keyword) : Dim foundInListBox2 As Boolean = SearchInListBox(ListBox2, keyword) Dim foundInListBox3 As Boolean = SearchInListBox(ListBox3, keyword) : Dim foundInListBox4 As Boolean = SearchInListBox(ListBox4, keyword) If Not (foundInListBox1 Or foundInListBox2 Or foundInListBox3 Or foundInListBox4) Then If 下一頁_bt.Enabled = True Then : 下一頁_bt.PerformClick() : Else MessageBox.Show(系統語言字典("G000-264-" & 語言), "Notification", MessageBoxButtons.OK, MessageBoxIcon.Information) : Exit For End If Else : Exit For : End If Next : 自動查 = False End Sub Private Function SearchInListBox(listBox As ListBox, keyword As String) As Boolean For i As Integer = 0 To listBox.Items.Count - 1 : If listBox.Items(i).ToString().ToLower().Contains(keyword) Then : listBox.SelectedIndex = i : Return True : End If : Next listBox.ClearSelected() : Return False End Function Private Sub 上一頁_bt_Click(sender As Object, e As EventArgs) Handles 上一頁_bt.Click 頁數 -= 1 : ListBox1.Items.Clear() : ListBox2.Items.Clear() : ListBox3.Items.Clear() : ListBox4.Items.Clear() F1 -= 100 : F2 -= 100 : F3 -= 100 : F4 -= 100 : F5 -= 100 : F6 -= 100 : F7 -= 100 : F8 -= 100 If 頁數 = 1 Then 上一頁_bt.Enabled = False : 下一頁_bt.Enabled = True ElseIf 頁數 > 1 Then 上一頁_bt.Enabled = True : 下一頁_bt.Enabled = True End If For I As Integer = F1 To F2 : ListBox1.Items.Add(PPBB(I)) : Next : For I As Integer = F3 To F4 : ListBox2.Items.Add(PPBB(I)) : Next For I As Integer = F5 To F6 : ListBox3.Items.Add(PPBB(I)) : Next : For I As Integer = F7 To F8 : ListBox4.Items.Add(PPBB(I)) : Next End Sub Private Sub 下一頁_bt_Click(sender As Object, e As EventArgs) Handles 下一頁_bt.Click 頁數 += 1 : ListBox1.Items.Clear() : ListBox2.Items.Clear() : ListBox3.Items.Clear() : ListBox4.Items.Clear() F1 += 100 : F2 += 100 : F3 += 100 : F4 += 100 : F5 += 100 : F6 += 100 : F7 += 100 : F8 += 100 If 頁數 < 總頁數 Then 上一頁_bt.Enabled = True : 下一頁_bt.Enabled = True For I As Integer = F1 To F2 : ListBox1.Items.Add(PPBB(I)) : Next : For I As Integer = F3 To F4 : ListBox2.Items.Add(PPBB(I)) : Next For I As Integer = F5 To F6 : ListBox3.Items.Add(PPBB(I)) : Next : For I As Integer = F7 To F8 : ListBox4.Items.Add(PPBB(I)) : Next ElseIf 頁數 = 總頁數 Then 上一頁_bt.Enabled = True : 下一頁_bt.Enabled = False If NN1 <= F2 Then For I As Integer = F1 To NN1 : ListBox1.Items.Add(PPBB(I)) : Next ElseIf NN1 <= F4 Then For I As Integer = F1 To F2 : ListBox1.Items.Add(PPBB(I)) : Next : For I As Integer = F3 To NN1 : ListBox2.Items.Add(PPBB(I)) : Next ElseIf NN1 <= F6 Then For I As Integer = F1 To F2 : ListBox1.Items.Add(PPBB(I)) : Next : For I As Integer = F3 To F4 : ListBox2.Items.Add(PPBB(I)) : Next For I As Integer = F5 To NN1 : ListBox3.Items.Add(PPBB(I)) : Next ElseIf NN1 <= F8 Then For I As Integer = F1 To F2 : ListBox1.Items.Add(PPBB(I)) : Next : For I As Integer = F3 To F4 : ListBox2.Items.Add(PPBB(I)) : Next For I As Integer = F5 To F6 : ListBox3.Items.Add(PPBB(I)) : Next : For I As Integer = F7 To NN1 : ListBox4.Items.Add(PPBB(I)) : Next End If End If End Sub Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged If IsNothing(ListBox1.SelectedItem) = True Then : 有選擇 = False ': 通知訊息 = EER : 訊息類型 = "1" : 通知視窗.ShowDialog() Else : PPAA = ListBox1.SelectedItem.ToString() : 有選擇 = True : If 自動查 <> True Then : Me.Close() : End If : End If End Sub Private Sub ListBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox2.SelectedIndexChanged If IsNothing(ListBox2.SelectedItem) = True Then : 有選擇 = False ': 通知訊息 = EER : 訊息類型 = "1" : 通知視窗.ShowDialog() Else : PPAA = ListBox2.SelectedItem.ToString() : 有選擇 = True : If 自動查 <> True Then : Me.Close() : End If : End If End Sub Private Sub ListBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox3.SelectedIndexChanged If IsNothing(ListBox3.SelectedItem) = True Then : 有選擇 = False ': 通知訊息 = EER : 訊息類型 = "1" : 通知視窗.ShowDialog() Else : PPAA = ListBox3.SelectedItem.ToString() : 有選擇 = True : If 自動查 <> True Then : Me.Close() : End If : End If End Sub Private Sub ListBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox4.SelectedIndexChanged If IsNothing(ListBox4.SelectedItem) = True Then : 有選擇 = False ': 通知訊息 = EER : 訊息類型 = "1" : 通知視窗.ShowDialog() Else : PPAA = ListBox4.SelectedItem.ToString() : 有選擇 = True : If 自動查 <> True Then : Me.Close() : End If : End If End Sub Private Sub Cancel_bt_Click(sender As Object, e As EventArgs) Handles Cancel_bt.Click Me.Close() End Sub Private Sub 風格() If 深色風格 = False Then Me.BackColor = Color.Linen : Panel1.BackgroundImage = My.Resources._62951168976601486 : 主題_lb.ForeColor = Color.Black ListBox1.BackColor = Color.White : ListBox1.ForeColor = Color.Black : ListBox2.BackColor = Color.White : ListBox2.ForeColor = Color.Black ListBox3.BackColor = Color.White : ListBox3.ForeColor = Color.Black : ListBox4.BackColor = Color.White : ListBox4.ForeColor = Color.Black Else Me.BackColor = Color.Black : Panel1.BackgroundImage = My.Resources._20157059_MotionElements_diagonal_lines : 主題_lb.ForeColor = Color.White ListBox1.BackColor = Color.DimGray : ListBox1.ForeColor = Color.White : ListBox2.BackColor = Color.DimGray : ListBox2.ForeColor = Color.White ListBox3.BackColor = Color.DimGray : ListBox3.ForeColor = Color.White : ListBox4.BackColor = Color.DimGray : ListBox4.ForeColor = Color.White End If End Sub Dim nOldWndLeft, nOldWndTop, nClickX, nClickY As Integer Private Sub PnlTitleBar_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PnlTitleBar.MouseDown '紀錄滑鼠點選時的視窗位置與滑鼠點選位置 nOldWndLeft = Me.Left : nOldWndTop = Me.Top : nClickX = e.X : nClickY = e.Y End Sub Private Sub PnlTitleBar_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PnlTitleBar.MouseMove If PnlTitleBar.Capture = True Then '如果滑鼠按著拖曳 Me.Top = e.Y + nOldWndTop - nClickY : Me.Left = e.X + nOldWndLeft - nClickX '設定新的視窗位置 nOldWndLeft = Me.Left : nOldWndTop = Me.Top '更新紀錄的視窗位置 End If End Sub Private Sub 主題_lb_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 主題_lb.MouseDown '紀錄滑鼠點選時的視窗位置與滑鼠點選位置 nOldWndLeft = Me.Left : nOldWndTop = Me.Top : nClickX = e.X : nClickY = e.Y End Sub Private Sub 主題_lb_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 主題_lb.MouseMove If 主題_lb.Capture = True Then '如果滑鼠按著拖曳 Me.Top = e.Y + nOldWndTop - nClickY : Me.Left = e.X + nOldWndLeft - nClickX '設定新的視窗位置 nOldWndLeft = Me.Left : nOldWndTop = Me.Top '更新紀錄的視窗位置 End If End Sub End Class