Nessuna descrizione
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

桌面捷徑設定.vb 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. Imports System.IO
  2. Imports System.Text
  3. Public Class 桌面捷徑設定
  4. Dim RI As Integer = -1
  5. Dim SK As String = "要查找的 KEY"
  6. Dim Str As String = Application.StartupPath
  7. DIM 對話框(9) As String
  8. Private Sub Set_語言()
  9. 語言_dgv.DataSource = Nothing
  10. 語言_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  11. 語言_dgv.ColumnHeadersHeight = 25
  12. 語言_dgv.AllowUserToAddRows = False
  13. For i As Integer = 0 To 語言_dgv.Rows.Count - 1 : 語言_dgv.Rows.RemoveAt(0) : Next
  14. If File.Exists(Str + "\LANGUAGE_FILE.csv") Then
  15. Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\LANGUAGE_FILE.csv", System.Text.Encoding.Default)
  16. Dim line As String = filereader.ReadLine()
  17. While Not (line Is Nothing)
  18. line = filereader.ReadLine()
  19. If line <> Nothing Then
  20. line = line.Replace("""", "")
  21. If Strings.Left(line, 4) = "G000" Or Strings.Left(line, 8) = "H001-145" Or Strings.Left(line, 4) = 介面 Then
  22. If 系統語言 = "繁體中文" Then
  23. If Strings.Mid(line, 10, 2) = "CH" Then : 語言_dgv.Rows.Insert(0)
  24. 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11)
  25. If Strings.Mid(line, 13, 300).EndsWith(",") Then
  26. 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1)
  27. Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If
  28. End If
  29. ElseIf 系統語言 = "English" Then
  30. If Strings.Mid(line, 10, 2) = "EN" Then : 語言_dgv.Rows.Insert(0)
  31. 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11)
  32. If Strings.Mid(line, 13, 300).EndsWith(",") Then
  33. 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1)
  34. Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If
  35. End If
  36. ElseIf 系統語言 = "Indonesian" Then
  37. If Strings.Mid(line, 10, 2) = "IN" Then : 語言_dgv.Rows.Insert(0)
  38. 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11)
  39. If Strings.Mid(line, 13, 300).EndsWith(",") Then
  40. 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1) : Else
  41. 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If
  42. End If
  43. End If
  44. End If
  45. End If
  46. End While
  47. filereader.Close()
  48. End If
  49. End Sub
  50. Private Sub Set_語言查詢()
  51. RI = -1 : For Each row As DataGridViewRow In 語言_dgv.Rows
  52. If Strings.Left(row.Cells(0).Value.ToString(), 8) = SK Then
  53. RI = row.Index : Exit For
  54. End If
  55. Next
  56. End Sub
  57. Private Sub 語言轉換讀取()
  58. Set_語言()
  59. SK = "G000-108" : Set_語言查詢() : ToolTip1.ToolTipTitle = 語言_dgv(1, RI).Value.ToString
  60. SK = "H001-145" : Set_語言查詢() : 主題_lb.Text = 語言_dgv(1, RI).Value.ToString : SK = "H003-100" : Set_語言查詢() : 對話框(0) = 語言_dgv(1, RI).Value.ToString
  61. SK = "G000-115" : Set_語言查詢() : 對話框(1) = 語言_dgv(1, RI).Value.ToString : SK = "G000-116" : Set_語言查詢() : 對話框(2) = 語言_dgv(1, RI).Value.ToString
  62. SK = "H003-101" : Set_語言查詢() : 對話框(3) = 語言_dgv(1, RI).Value.ToString : SK = "H003-102" : Set_語言查詢() : 對話框(4) = 語言_dgv(1, RI).Value.ToString
  63. SK = "H003-103" : Set_語言查詢() : 對話框(5) = 語言_dgv(1, RI).Value.ToString : SK = "H003-104" : Set_語言查詢() : 對話框(6) = 語言_dgv(1, RI).Value.ToString
  64. SK = "H003-105" : Set_語言查詢() : 對話框(7) = 語言_dgv(1, RI).Value.ToString : SK = "H003-106" : Set_語言查詢() : 對話框(8) = 語言_dgv(1, RI).Value.ToString
  65. SK = "H003-107" : Set_語言查詢() : 對話框(9) = 語言_dgv(1, RI).Value.ToString
  66. End Sub
  67. Private Sub 全部選擇_rbt_MouseEnter(sender As Object, e As EventArgs) Handles 全部選擇_rbt.MouseEnter
  68. ToolTip1.SetToolTip(Me.全部選擇_rbt, 對話框(1))
  69. End Sub
  70. Private Sub 全部取消_rbt_MouseEnter(sender As Object, e As EventArgs) Handles 全部取消_rbt.MouseEnter
  71. ToolTip1.SetToolTip(Me.全部取消_rbt, 對話框(2))
  72. End Sub
  73. Private Sub 業務_bt_MouseEnter(sender As Object, e As EventArgs) Handles 業務_bt.MouseEnter
  74. ToolTip1.SetToolTip(Me.業務_bt, 對話框(3))
  75. End Sub
  76. Private Sub 採購_bt_MouseEnter(sender As Object, e As EventArgs) Handles 採購_bt.MouseEnter
  77. ToolTip1.SetToolTip(Me.採購_bt, 對話框(4))
  78. End Sub
  79. Private Sub 工程_bt_MouseEnter(sender As Object, e As EventArgs) Handles 工程_bt.MouseEnter
  80. ToolTip1.SetToolTip(Me.工程_bt, 對話框(5))
  81. End Sub
  82. Private Sub 倉儲_bt_MouseEnter(sender As Object, e As EventArgs) Handles 倉儲_bt.MouseEnter
  83. ToolTip1.SetToolTip(Me.倉儲_bt, 對話框(6))
  84. End Sub
  85. Private Sub 人事_bt_MouseEnter(sender As Object, e As EventArgs) Handles 人事_bt.MouseEnter
  86. ToolTip1.SetToolTip(Me.人事_bt, 對話框(7))
  87. End Sub
  88. Private Sub 財務_bt_MouseEnter(sender As Object, e As EventArgs) Handles 財務_bt.MouseEnter
  89. ToolTip1.SetToolTip(Me.財務_bt, 對話框(9))
  90. End Sub
  91. Private Sub PnlTitleBar_Paint(sender As Object, e As PaintEventArgs) Handles PnlTitleBar.Paint
  92. End Sub
  93. Private Sub 桌面捷徑設定_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  94. 語言_dgv.SendToBack() : 風格() : H(3) = True : 介面 = "H003" : 語言轉換讀取()
  95. Panel2.SendToBack()
  96. 捷徑_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  97. 捷徑_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  98. 捷徑_dgv.ColumnHeadersHeight = 25 : 捷徑_dgv.AllowUserToAddRows = False
  99. 捷徑_dgv.RowTemplate.Height = 20 : 捷徑_dgv.Columns(0).FillWeight = 30
  100. 捷徑_dgv.Columns(0).ReadOnly = True : 捷徑_dgv.Columns(1).ReadOnly = True
  101. End Sub
  102. Private Sub 桌面捷徑設定_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  103. 計算分流1.Enabled = True
  104. End Sub
  105. Private Sub 計算分流1_Tick(sender As Object, e As EventArgs) Handles 計算分流1.Tick
  106. 計算分流1.Enabled = False
  107. For i As Integer = 0 To 捷徑_dgv.Rows.Count - 1 : 捷徑_dgv.Rows.RemoveAt(0) : Next
  108. For i As Integer = 0 To 捷徑數量 - 1 : 捷徑_dgv.Rows.Insert(0) : Next
  109. For i As Integer = 0 To 捷徑數量 - 1
  110. 捷徑_dgv.Rows(i).Cells(0).Value = False : 捷徑_dgv.Rows(i).Cells(1).Value = 顯示名稱(i)
  111. 捷徑_dgv.Rows(i).Cells(2).Value = 捷徑名稱(i) : 捷徑_dgv.Rows(i).Cells(3).Value = 捷徑類別(i)
  112. Next
  113. Dim Str As String = Application.StartupPath
  114. If File.Exists(Str + "\" & gUserName & ".txt") Then
  115. Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\" & gUserName & ".txt", System.Text.Encoding.Default)
  116. Dim line As String = filereader.ReadLine()
  117. While Not (line Is Nothing)
  118. line = filereader.ReadLine()
  119. For I As Integer = 0 To 捷徑_dgv.Rows.Count - 1
  120. If 捷徑_dgv.Rows(I).Cells(2).Value = line Then : 捷徑_dgv.Rows(I).Cells(0).Value = True : Exit For : End If
  121. Next
  122. End While
  123. filereader.Close()
  124. End If
  125. 首次開啟 = False
  126. End Sub
  127. Private Sub 捷徑_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 捷徑_dgv.RowPostPaint
  128. If 首次開啟 = False Then
  129. Dim linePen As New Pen(Color.Blue, 2)
  130. If e.RowIndex = 捷徑_dgv.Rows.Count - 1 Then
  131. Exit Sub
  132. Else
  133. If 捷徑_dgv(3, e.RowIndex).Value.ToString.ToLower() <> 捷徑_dgv(3, e.RowIndex + 1).Value.ToString.ToLower() Then
  134. Dim startX As Integer = IIf(捷徑_dgv.RowHeadersVisible, 捷徑_dgv.RowHeadersWidth, 0)
  135. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  136. Dim endX As Integer = startX + 捷徑_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 捷徑_dgv.HorizontalScrollingOffset
  137. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  138. Exit Sub
  139. End If
  140. End If
  141. End If
  142. End Sub
  143. Private Sub 捷徑_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 捷徑_dgv.CellClick
  144. If e.RowIndex = -1 Then : Else
  145. 原文_tb.Text = 捷徑_dgv.Rows(e.RowIndex).Cells(3).Value.ToString
  146. If 捷徑_dgv.Rows(e.RowIndex).Cells(0).Value = False Then
  147. 捷徑_dgv.Rows(e.RowIndex).Cells(0).Value = True : 捷徑_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.LightBlue
  148. Else
  149. 捷徑_dgv.Rows(e.RowIndex).Cells(0).Value = False : 捷徑_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.White
  150. End If
  151. End If
  152. End Sub
  153. Private Sub 存檔_rbt_Click(sender As Object, e As EventArgs) Handles 存檔_rbt.Click
  154. Dim SELE As Boolean = False
  155. For I As Integer = 0 To 捷徑_dgv.Rows.Count - 1 : If 捷徑_dgv.Rows(I).Cells(0).Value = True Then : SELE = True : Exit For : End If : Next
  156. If SELE = True Then
  157. Dim strDirName As String : Dim Strs As String = Application.StartupPath
  158. If File.Exists(Strs & "\" & gUserName & ".txt") Then : File.Delete(Strs & "\" & gUserName & ".txt") : End If
  159. strDirName = Strs & "\" & gUserName & ".txt"
  160. Try
  161. Using fs As IO.FileStream = New IO.FileStream(strDirName, FileMode.Append)
  162. Using sw As StreamWriter = New StreamWriter(fs, Encoding.Default)
  163. Dim str As String
  164. str = "******************" : sw.WriteLine(str)
  165. For I As Integer = 0 To 捷徑_dgv.Rows.Count - 1
  166. If 捷徑_dgv.Rows(I).Cells(0).Value = True Then
  167. str = 捷徑_dgv.Rows(I).Cells(2).Value : sw.WriteLine(str) '插入一整行
  168. End If
  169. Next : sw.Flush()
  170. End Using
  171. End Using
  172. Catch ex As Exception
  173. End Try
  174. Me.Close()
  175. Else : MGB(對話框(0), 1) : End If
  176. End Sub
  177. Private Sub 全部選擇_rbt_Click(sender As Object, e As EventArgs) Handles 全部選擇_rbt.Click
  178. If 原文_tb.Text = "" Then : For i As Integer = 0 To 捷徑_dgv.Rows.Count - 1 : 捷徑_dgv.Rows(i).Cells(0).Value = True : Next i
  179. Else : For i As Integer = 0 To 捷徑_dgv.Rows.Count - 1 : If 原文_tb.Text = 捷徑_dgv.Rows(i).Cells(3).Value.ToString Then : 捷徑_dgv.Rows(i).Cells(0).Value = True : End If : Next : End If
  180. End Sub
  181. Private Sub 全部取消_rbt_Click(sender As Object, e As EventArgs) Handles 全部取消_rbt.Click
  182. If 原文_tb.Text = "" Then : For i As Integer = 0 To 捷徑_dgv.Rows.Count - 1 : 捷徑_dgv.Rows(i).Cells(0).Value = False : Next i
  183. Else : For i As Integer = 0 To 捷徑_dgv.Rows.Count - 1 : If 原文_tb.Text = 捷徑_dgv.Rows(i).Cells(3).Value.ToString Then : 捷徑_dgv.Rows(i).Cells(0).Value = False : End If : Next : End If
  184. End Sub
  185. Private Sub 原文_tb_TextChanged(sender As Object, e As EventArgs) Handles 原文_tb.TextChanged
  186. If 原文_tb.Text = "業務" Then : 翻譯_rtb.Text = 對話框(3) : ElseIf 原文_tb.Text = "採購" Then : 翻譯_rtb.Text = 對話框(4)
  187. ElseIf 原文_tb.Text = "工程" Then : 翻譯_rtb.Text = 對話框(5) : ElseIf 原文_tb.Text = "倉儲" Then : 翻譯_rtb.Text = 對話框(6)
  188. ElseIf 原文_tb.Text = "人事" Then : 翻譯_rtb.Text = 對話框(7) : ElseIf 原文_tb.Text = "其他" Then : 翻譯_rtb.Text = 對話框(8)
  189. ElseIf 原文_tb.Text = "財務" Then : 翻譯_rtb.Text = 對話框(9) : End If
  190. End Sub
  191. Private Sub 選擇比較()
  192. Dim SS As Boolean
  193. For i As Integer = 0 To 捷徑_dgv.Rows.Count - 1
  194. If 原文_tb.Text = 捷徑_dgv.Rows(i).Cells(3).Value.ToString Then : If 捷徑_dgv.Rows(i).Cells(0).Value = False Then : SS = False : Exit For : Else : SS = True : End If : End If
  195. Next
  196. If SS = False Then : 全部選擇_rbt.PerformClick() : Else : 全部取消_rbt.PerformClick() : End If
  197. End Sub
  198. Private Sub 業務_bt_Click(sender As Object, e As EventArgs) Handles 業務_bt.Click
  199. 原文_tb.Text = "業務" : 選擇比較()
  200. End Sub
  201. Private Sub 採購_bt_Click(sender As Object, e As EventArgs) Handles 採購_bt.Click
  202. 原文_tb.Text = "採購" : 選擇比較()
  203. End Sub
  204. Private Sub 倉儲_bt_Click(sender As Object, e As EventArgs) Handles 倉儲_bt.Click
  205. 原文_tb.Text = "倉儲" : 選擇比較()
  206. End Sub
  207. Private Sub 工程_bt_Click(sender As Object, e As EventArgs) Handles 工程_bt.Click
  208. 原文_tb.Text = "工程" : 選擇比較()
  209. End Sub
  210. Private Sub 財務_bt_Click(sender As Object, e As EventArgs) Handles 財務_bt.Click
  211. 原文_tb.Text = "財務" : 選擇比較()
  212. End Sub
  213. Private Sub 人事_bt_Click(sender As Object, e As EventArgs) Handles 人事_bt.Click
  214. 原文_tb.Text = "人事" : 選擇比較()
  215. End Sub
  216. Private Sub Cancel_bt_Click(sender As Object, e As EventArgs) Handles Cancel_bt.Click
  217. Me.Close()
  218. End Sub
  219. Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
  220. 介面 = "H003" : 語言轉換讀取() : 計算分流1.Enabled = True
  221. End Sub
  222. Private Sub 風格()
  223. If 深色風格 = False Then
  224. Me.BackColor = Color.Linen : Panel1.BackgroundImage = My.Resources._62951168976601486 : 主題_lb.ForeColor = Color.Black
  225. 翻譯_rtb.ForeColor = Color.Black
  226. 語轉扭_bt.BackColor = Color.White : 語轉扭_bt.ForeColor = Color.Black
  227. 業務_bt.BackColor = Color.White : 業務_bt.ForeColor = Color.Black : 人事_bt.BackColor = Color.White : 人事_bt.ForeColor = Color.Black
  228. 採購_bt.BackColor = Color.White : 採購_bt.ForeColor = Color.Black : 倉儲_bt.BackColor = Color.White : 倉儲_bt.ForeColor = Color.Black
  229. 財務_bt.BackColor = Color.White : 財務_bt.ForeColor = Color.Black : 工程_bt.BackColor = Color.White : 工程_bt.ForeColor = Color.Black
  230. 捷徑_dgv.EnableHeadersVisualStyles = True : 捷徑_dgv.BackgroundColor = Color.White : 捷徑_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  231. 捷徑_dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.White
  232. 捷徑_dgv.DefaultCellStyle.BackColor = Color.White : 捷徑_dgv.DefaultCellStyle.ForeColor = Color.Black
  233. Else
  234. Me.BackColor = Color.Black : Panel1.BackgroundImage = My.Resources._20157059_MotionElements_diagonal_lines : 主題_lb.ForeColor = Color.White
  235. 翻譯_rtb.ForeColor = Color.White
  236. 語轉扭_bt.BackColor = Color.DimGray : 語轉扭_bt.ForeColor = Color.Wheat
  237. 業務_bt.BackColor = Color.DimGray : 業務_bt.ForeColor = Color.Wheat : 人事_bt.BackColor = Color.DimGray : 人事_bt.ForeColor = Color.Wheat
  238. 採購_bt.BackColor = Color.DimGray : 採購_bt.ForeColor = Color.Wheat : 倉儲_bt.BackColor = Color.DimGray : 倉儲_bt.ForeColor = Color.Wheat
  239. 財務_bt.BackColor = Color.DimGray : 財務_bt.ForeColor = Color.Wheat : 工程_bt.BackColor = Color.DimGray : 工程_bt.ForeColor = Color.Wheat
  240. 捷徑_dgv.EnableHeadersVisualStyles = False : 捷徑_dgv.BackgroundColor = Color.DimGray : 捷徑_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  241. 捷徑_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 捷徑_dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.DimGray
  242. 捷徑_dgv.DefaultCellStyle.BackColor = Color.DimGray : 捷徑_dgv.DefaultCellStyle.ForeColor = Color.White
  243. End If
  244. End Sub
  245. Dim nOldWndLeft, nOldWndTop, nClickX, nClickY As Integer
  246. Private Sub PnlTitleBar_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PnlTitleBar.MouseDown
  247. '紀錄滑鼠點選時的視窗位置與滑鼠點選位置
  248. nOldWndLeft = Me.Left : nOldWndTop = Me.Top : nClickX = e.X : nClickY = e.Y
  249. End Sub
  250. Private Sub PnlTitleBar_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PnlTitleBar.MouseMove
  251. If PnlTitleBar.Capture = True Then '如果滑鼠按著拖曳
  252. Me.Top = e.Y + nOldWndTop - nClickY : Me.Left = e.X + nOldWndLeft - nClickX '設定新的視窗位置
  253. nOldWndLeft = Me.Left : nOldWndTop = Me.Top '更新紀錄的視窗位置
  254. End If
  255. End Sub
  256. Private Sub 主題_lb_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 主題_lb.MouseDown
  257. '紀錄滑鼠點選時的視窗位置與滑鼠點選位置
  258. nOldWndLeft = Me.Left : nOldWndTop = Me.Top : nClickX = e.X : nClickY = e.Y
  259. End Sub
  260. Private Sub 主題_lb_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 主題_lb.MouseMove
  261. If 主題_lb.Capture = True Then '如果滑鼠按著拖曳
  262. Me.Top = e.Y + nOldWndTop - nClickY : Me.Left = e.X + nOldWndLeft - nClickX '設定新的視窗位置
  263. nOldWndLeft = Me.Left : nOldWndTop = Me.Top '更新紀錄的視窗位置
  264. End If
  265. End Sub
  266. End Class