frmSettings.vb
上传用户:szledliu
上传日期:2021-01-29
资源大小:13805k
文件大小:12k
源码类别:

C#编程

开发平台:

C#

  1. '///////////////////////////////////////////
  2. 'Form to facilitate settings in the application.
  3. 'I am using built in vs 2005 settings for 
  4. 'most of the settings in the application
  5. 'other than search providers and feeds.
  6. '///////////////////////////////////////////
  7. Imports System.Enum
  8. Imports System.Data.OleDb
  9. Public Class frmSettings
  10.     Private Sub frmSettings_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  11.         LoadBlockedSites()
  12.         LoadPhishingSites()
  13.         LoadSearchProviders()
  14.         LoadPopUpSettings()
  15.         LoadPopAllowed()
  16.         LoadAdditional()
  17.     End Sub
  18. #Region " Popup Blocker Settings "
  19.     Private Sub LoadPopUpSettings()
  20.         chkAllowPop.Checked = My.Settings.PopUpBlockerEnabled
  21.         chkPopSound.Checked = My.Settings.PopSound
  22.         chkPopInfo.Checked = My.Settings.PopInfoBar
  23.     End Sub
  24.     Private Sub LoadPopAllowed()
  25.         lbPop.Items.Clear()
  26.         Dim li As ListItem
  27.         Dim s As String
  28.         For Each s In My.Settings.AllowedPopSites
  29.             li = New ListItem
  30.             li.Text = s
  31.             lbPop.Items.Add(li)
  32.         Next
  33.     End Sub
  34.     Private Sub chkAllowPop_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkAllowPop.CheckedChanged
  35.         My.Settings.PopUpBlockerEnabled = chkAllowPop.Checked
  36.     End Sub
  37.     Private Sub chkPopSound_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkPopSound.CheckedChanged
  38.         My.Settings.PopSound = chkPopSound.Checked
  39.     End Sub
  40.     Private Sub chkPopInfo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkPopInfo.CheckedChanged
  41.         My.Settings.PopInfoBar = chkPopInfo.Checked
  42.     End Sub
  43.     Private Sub btnPopAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPopAdd.Click
  44.         If txtPop.Text = "" Then
  45.             'Do nothing
  46.         Else
  47.             My.Settings.AllowedPopSites.Add(AppManager.FixURL(txtPop.Text))
  48.             txtPop.Text = String.Empty
  49.             LoadPopAllowed()
  50.         End If
  51.     End Sub
  52.     Private Sub btnPopRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPopRemove.Click
  53.         Dim li As ListItem
  54.         If lbPop.SelectedItems.Count > 0 Then
  55.             For Each li In lbPop.SelectedItems
  56.                 My.Settings.AllowedPopSites.Remove(li.Text)
  57.             Next
  58.             LoadPopAllowed()
  59.         End If
  60.     End Sub
  61.     Private Sub btnPopRemoveAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPopRemoveAll.Click
  62.         My.Settings.AllowedPopSites.Clear()
  63.         lbPop.Items.Clear()
  64.     End Sub
  65. #End Region
  66. #Region " Blocked Sites "
  67.     Private Sub LoadBlockedSites()
  68.         lbBlocked.Items.Clear()
  69.         Dim s As String
  70.         For Each s In My.Settings.BlockedSites
  71.             lbBlocked.Items.Add(s)
  72.         Next
  73.     End Sub
  74.     Private Sub btnAddBlock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddBlock.Click
  75.         If txtBlock.Text = "" Then
  76.             'Do nothing
  77.         Else
  78.             My.Settings.BlockedSites.Add(AppManager.FixURL(txtBlock.Text))
  79.             LoadBlockedSites()
  80.             txtBlock.Text = String.Empty
  81.         End If
  82.     End Sub
  83.     Private Sub btnBlockRemoveAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBlockRemoveAll.Click
  84.         Dim s As String
  85.         For Each s In My.Settings.BlockedSites
  86.             My.Settings.BlockedSites.Remove(s)
  87.         Next
  88.         LoadBlockedSites()
  89.     End Sub
  90.     Private Sub btnRemoveBlock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemoveBlock.Click
  91.         If lbBlocked.SelectedIndices.Count > 0 Then
  92.             My.Settings.BlockedSites.Remove(lbBlocked.SelectedItem)
  93.             LoadBlockedSites()
  94.         End If
  95.     End Sub
  96. #End Region
  97. #Region " Search Providers "
  98.     Private Sub LoadSearchProviders()
  99.         lvSearchProviders.Items.Clear()
  100.         Dim strSQL As String = _
  101.         "Select ID, ProviderTitle, ProviderURL, IsDefault FROM SearchProviders ORDER BY ProviderTitle"
  102.         Dim oConn As New OleDb.OleDbConnection(AppManager.ConnString)
  103.         Dim oDa As New OleDb.OleDbDataAdapter(strSQL, oConn)
  104.         Dim dt As New DataTable
  105.         Dim dr As DataRow
  106.         Dim li As ListViewItem
  107.         Dim si As ListViewItem.ListViewSubItem
  108.         Try
  109.             oDa.Fill(dt)
  110.             For Each dr In dt.Rows
  111.                 li = New ListViewItem
  112.                 li.Tag = dr.Item("ID")
  113.                 li.SubItems.Add(dr.Item("ProviderURL"))
  114.                 si = New ListViewItem.ListViewSubItem
  115.                 If dr.Item("IsDefault") = True Then
  116.                     li.Text = dr.Item("ProviderTitle") & " - (Default)"
  117.                     li.Checked = True
  118.                     li.Font = New Font(li.Font.Name, li.Font.Size, FontStyle.Bold, li.Font.Unit)
  119.                 Else
  120.                     li.Text = dr.Item("ProviderTitle")
  121.                     li.Checked = False
  122.                 End If
  123.                 'li.SubItems.Add(si)
  124.                 lvSearchProviders.Items.Add(li)
  125.             Next
  126.         Catch ex As Exception
  127.             MsgBox(ex.Message.ToString)
  128.         Finally
  129.         End Try
  130.     End Sub
  131.     Private Sub cmSearch_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles cmSearch.Opening
  132.         If lvSearchProviders.Items.Count = 0 Then
  133.             cmSearchRemove.Enabled = False
  134.         Else
  135.             cmSearchRemove.Enabled = True
  136.         End If
  137.     End Sub
  138.     Private Sub cmSearchRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmSearchRemove.Click
  139.         RemoveSearchProvider()
  140.     End Sub
  141.     Private Sub RemoveSearchProvider()
  142.         Dim strSQL As String = "DELETE FROM SearchProviders WHERE ID=" & _
  143.         CInt(lvSearchProviders.SelectedItems(0).Tag)
  144.         Dim oConn As New OleDb.OleDbConnection(AppManager.ConnString)
  145.         Dim oCmd As New OleDbCommand(strSQL, oConn)
  146.         Try
  147.             oConn.Open()
  148.             oCmd.ExecuteNonQuery()
  149.             oConn.Close()
  150.             LoadSearchProviders()
  151.             AppManager.MainForm.LoadSearchProviders()
  152.         Catch ex As Exception
  153.             Dim ofrm As New frmError
  154.             ofrm.err = ex
  155.             ofrm.ShowDialog(Me)
  156.         End Try
  157.     End Sub
  158.     Private Sub btnAddProvider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddProvider.Click
  159.         If chkSearchDefault.Checked Then
  160.             SetDefault()
  161.         End If
  162.         AddProvider()
  163.     End Sub
  164.     Private Sub AddProvider()
  165.         'In this example application, we do not care if a user adds more than 1
  166.         'of the same provider, so we will not check for that.
  167.         Dim oConn As New OleDbConnection(AppManager.ConnString)
  168.         Dim strSQL As String = _
  169.         "INSERT INTO SearchProviders (ProviderTitle, ProviderURL, IsDefault) VALUES " & _
  170.         "('" & txtSearchTitle.Text & _
  171.         "', '" & txtSearchURL.Text & _
  172.         "', " & chkSearchDefault.Checked & ")"
  173.         Dim oCmd As New OleDbCommand(strSQL, oConn)
  174.         Try
  175.             oConn.Open()
  176.             oCmd.ExecuteNonQuery()
  177.             oConn.Close()
  178.             AppManager.MainForm.LoadSearchProviders()
  179.             LoadSearchProviders()
  180.         Catch ex As Exception
  181.             MsgBox(ex.Message.ToString)
  182.         End Try
  183.     End Sub
  184.     Private Sub SetDefault()
  185.         Dim strSQL As String = "Update SearchProviders Set IsDefault=False"
  186.         Dim oConn As New OleDbConnection(AppManager.ConnString)
  187.         Dim oCmd As New OleDbCommand(strSQL, oConn)
  188.         Try
  189.             oConn.Open()
  190.             oCmd.ExecuteNonQuery()
  191.             oConn.Close()
  192.         Catch ex As Exception
  193.             MsgBox(ex.Message.ToString)
  194.         Finally
  195.             oConn.Dispose()
  196.             oCmd.Dispose()
  197.         End Try
  198.     End Sub
  199. #End Region
  200. #Region " Integrations "
  201.     Private Sub LoadAdditional()
  202.         chkInternal.Checked = My.Settings.UseInternalMenu
  203.         chkShowTags.Checked = My.Settings.ShowTags
  204.         chkSupress.Checked = My.Settings.SupressScriptErrs
  205.         chkStart.Checked = My.Settings.UseStartPage
  206.         chkPhishing.Checked = My.Settings.UsePhishingFilter
  207.     End Sub
  208.     Private Sub chkInternal_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkInternal.CheckedChanged
  209.         My.Settings.UseInternalMenu = chkInternal.Checked
  210.         Dim ofrm As frmBrowser
  211.         Dim i As Integer
  212.         For i = 0 To AppManager.MainForm.tc1.TabPages.Count - 1
  213.             If TypeOf AppManager.MainForm.tc1.TabPages.Item(i).Form Is frmBrowser Then
  214.                 ofrm = AppManager.MainForm.tc1.TabPages.Item(i).Form
  215.                 ofrm.wb.IsWebBrowserContextMenuEnabled = Not (chkInternal.Checked)
  216.             End If
  217.         Next
  218.     End Sub
  219.     Private Sub chkShowTags_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkShowTags.CheckedChanged
  220.         My.Settings.ShowTags = chkShowTags.Checked
  221.     End Sub
  222.     Private Sub chkSupress_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkSupress.CheckedChanged
  223.         My.Settings.SupressScriptErrs = chkSupress.Checked
  224.         Dim ofrm As frmBrowser
  225.         Dim i As Integer
  226.         For i = 0 To AppManager.MainForm.tc1.TabPages.Count - 1
  227.             If TypeOf AppManager.MainForm.tc1.TabPages.Item(i).Form Is frmBrowser Then
  228.                 ofrm = AppManager.MainForm.tc1.TabPages.Item(i).Form
  229.                 ofrm.wb.ScriptErrorsSuppressed = chkInternal.Checked
  230.             End If
  231.         Next
  232.     End Sub
  233. #End Region
  234. #Region " Phishing "
  235.     Private Sub LoadPhishingSites()
  236.         lbPhishing.Items.Clear()
  237.         Dim s As String
  238.         For Each s In My.Settings.PhishingSites
  239.             lbPhishing.Items.Add(s)
  240.         Next
  241.     End Sub
  242.     Private Sub btnAddPhish_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddPhish.Click
  243.         If txtPhishing.Text = "" Then
  244.             'Do nothing
  245.         Else
  246.             My.Settings.PhishingSites.Add(AppManager.FixURL(txtPhishing.Text))
  247.             LoadPhishingSites()
  248.             txtPhishing.Text = String.Empty
  249.         End If
  250.     End Sub
  251.  
  252.     Private Sub btnRemovePhish_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemovePhish.Click
  253.         If lbPhishing.SelectedIndices.Count > 0 Then
  254.             My.Settings.PhishingSites.Remove(lbPhishing.SelectedItem)
  255.             LoadPhishingSites()
  256.         End If
  257.     End Sub
  258.     Private Sub btnRemoveAllPhish_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemoveAllPhish.Click
  259.         Dim s As String
  260.         For Each s In My.Settings.PhishingSites
  261.             My.Settings.PhishingSites.Remove(s)
  262.         Next
  263.         LoadPhishingSites()
  264.     End Sub
  265. #End Region
  266.     Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
  267.         My.Settings.Save()
  268.         Me.Close()
  269.     End Sub
  270.     Private Sub chkUseDLManager_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkUseDLManager.CheckedChanged
  271.         My.Settings.UseDLManager = chkUseDLManager.Checked
  272.         My.Settings.Save()
  273.     End Sub
  274.     Private Sub chkStart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkStart.CheckedChanged
  275.         My.Settings.UseStartPage = chkStart.Checked
  276.         My.Settings.Save()
  277.     End Sub
  278.     Private Sub chkPhishing_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkPhishing.CheckedChanged
  279.         My.Settings.UsePhishingFilter = chkPhishing.Checked
  280.         My.Settings.Save()
  281.     End Sub
  282. End Class