09. marts 2006 - 14:49Der er
31 kommentarer og 1 løsning
Rette i XML fil
Hej Eksperter!
Hvad skal jeg gøre for at rette i et XML dokument?
Bruger følgende kode til at læse med, og det virker fint:
Dim SystemReader As New System.IO.StreamReader("Settings.xml") Dim XMLTextReader As New System.Xml.XmlTextReader(SystemReader) Dim SettingsDoc As New System.Xml.XmlDocument
SettingsDoc.Load(XMLTextReader)
Dim SettingItems As System.Xml.XmlNodeList = SettingsDoc.SelectNodes("settings/items")
Dim SoundAlert As System.Xml.XmlNode = SettingItems.Item(0).SelectSingleNode("soundalert") Dim PopupAlert As System.Xml.XmlNode = SettingItems.Item(0).SelectSingleNode("popupalert")
Processen kan ikke få adgang til filen 'E:\Microsoft Visual Basic 2005 Projects\CheckNewOrder\CheckNewOrder\bin\Debug\Settings.xml', fordi den bliver brugt af en anden proces
Dim SystemReader As New System.IO.StreamReader("Settings.xml") Dim XMLTextReader As New System.Xml.XmlTextReader(SystemReader) Dim SettingsDoc As New System.Xml.XmlDocument
SettingsDoc.Load(XMLTextReader)
Dim SettingItems As System.Xml.XmlNodeList = SettingsDoc.SelectNodes("settings/items")
Dim SoundAlert As System.Xml.XmlNode = SettingItems.Item(0).SelectSingleNode("soundalert") Dim PopupAlert As System.Xml.XmlNode = SettingItems.Item(0).SelectSingleNode("popupalert")
For at minimere til System Tray, kan du placere en NotifyIcon komponent på din form (findes i Toolbox'en). Denne opretter et ikon i System Tray'et. Herefter kan du så, når du minimerer din form, gøre den usynlig, og når du klikker på dit ikon i System Tray'et, kan du vise formen igen.
Kan ikke lige gennemskue, hvorfor den viser et andet ikon? Det har jeg da aldrig været ude for :o)
Hvis du har sat formens ShowInTaskbar egenskab til False, vil den ikke blive minimeret til taskbaren, men derimod over Start menuen. Men det er sådan set heller ikke noget problem. Det du skal gøre er selv at lave aktiv kode, som skjuler formen (men ikke ikonet i System Tray) når du minimerer, og viser den igen ved et dobbeltklik på ikonet.
Eksempel:
Private Sub Form1_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged If Me.WindowState = FormWindowState.Minimized Then Me.Visible = False End If End Sub
Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick If Me.WindowState = FormWindowState.Minimized Then Me.Visible = True Me.WindowState = FormWindowState.Normal Else Me.Activate() End If End Sub
I ovenstående undersøger jeg, når formens størrelse ændrer sig (dvs. fx når den bliver minimeret) og formen er blevet minimeret. I så fald gør jeg den usynlig (så den ikke ligger og roder over start menuen).
Desuden, hvis jeg dobbelt-klikker på System Tray ikonet, undersøger jeg om formen er minimeret. Hvis den er det, viser jeg formen igen (sætter først Visible = True, og derefter WindowState = Normal). Hvis formen derimod ikke er minimeret, skal den blot aktiveres. Prøv ad.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.