Hallo,
ich schreibe gerade an einer VB.Net Anwendung für den PocketPC und möchte dabei das wenn ich auf den Button in einem Form drücke, dann ein neues Form dargestellt wird und das ich davon auch wieder zurück kann.
Das Hauptform ist Main.vb
<PRE>
Imports System.IO
Imports System
Imports System.Exception
Public Class Main
Inherits System.Windows.Forms.Form
Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Const FILENAME = "auftrag.txt" ' Konstante Dateiname
#Region " Windows Form Designer generated code "
...
#End Region
Private Sub Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' ##################### Datei zum testen erstellen und mit Daten füllen
Dim sr As StreamWriter
sr = New StreamWriter("\" & FILENAME)
sr.WriteLine("789")
sr.WriteLine("456")
sr.WriteLine("123")
sr.Close()
' ######################
Call readNr() ' Aufruf zum lesen der Datei
End Sub
' Auslesen der Datei auftrag.txt
Private Sub readNr()
Try
Dim FiStr As FileStream = New FileStream("\" & FILENAME, FileMode.Open)
Dim StrRe As StreamReader = New StreamReader(FiStr)
Dim i As Integer
Dim iCount As Integer
ComboBox1.Items.Clear()
Do Until StrRe.Peek() = -1
ComboBox1.Items.Insert(0, StrRe.ReadLine)
i += 1
Loop
StrRe.Close()
Catch except As Exception
MsgBox(except.ToString)
End Try
End Sub
' Programm beenden
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
' Anzeigen des Forms für die Dateneingabe
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim myForm1 As Form1
myForm1.Show()
Catch except As Exception
MsgBox(except.ToString)
End Try
End Sub
End Class
</PRE>
und das Form1 hat den Code
<PRE>
Imports System.IO
Imports System
Public Class Form1
Inherits System.Windows.Forms.Form
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu
Const FILENAME = "daten.txt" ' Konstante Dateiname
#Region " Vom Windows Form-Designer generierter Code "
...
#End Region
Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Prüfung ob Datei schon vorhanden ist
' Andernfalls neu erstellen
myForm1 = Me
Dim sr As StreamWriter
' Nachschauen ob die Datei schon vorhanden ist, wenn ja neu erstellen
If System.IO.File.Exists("\" & FILENAME) = False Then
sr = New StreamWriter("\" & FILENAME)
sr.Close()
End If
TextBox1.Focus()
End Sub
' Auf 'Return'- Zeichen in der Eingabe reagieren
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
' Wenn 'Return' betätig wird
If Asc(e.KeyChar) = 13 Then
Call writeFile() ' Aufruf writeFile() - Daten in Datei schreiben
End If
End Sub
' Datei öffnen und eingescannte Daten in diese schreiben
Private Sub writeFile()
' String formatieren ( Tag + Zeit + ID ) und in Datei schreiben
Dim FiStr As FileStream = New FileStream("\" & FILENAME, FileMode.Append)
Dim StrWr As StreamWriter = New StreamWriter(FiStr)
StrWr.WriteLine(Format(Now(), "d. MMM yyyy") & "|" & Format(Now(), "HH:mm:ss") & "|" & TextBox1.Text)
StrWr.Close()
TextBox1.Text = ""
TextBox1.Focus()
Call readFile() ' Aufruf readFile - aktualisieren der ListBox
End Sub
' Auslesen der Datei und füllen der ListBox
Private Sub readFile()
Try
Dim FiStr As FileStream = New FileStream("\" & FILENAME, FileMode.Open)
Dim StrRe As StreamReader = New StreamReader(FiStr)
Dim i As Integer
Dim iCount As Integer
ListBox1.Items.Clear()
Do Until StrRe.Peek() = -1
ListBox1.Items.Insert(0, StrRe.ReadLine)
i += 1
Loop
StrRe.Close()
TextBox1.Focus()
Catch except As Exception
End Try
End Sub
' Anwendung schließen
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
End Sub
' Löschen des Inhalts der Datei
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim FiStr As FileStream = New FileStream("\" & FILENAME, FileMode.Truncate)
Dim StrWr As StreamWriter = New StreamWriter(FiStr)
StrWr.Close()
ListBox1.Items.Clear()
End Sub
End Class
</PRE>
aber ich bekomme immer eine Exception und kein Form.
Gruß cos
ich schreibe gerade an einer VB.Net Anwendung für den PocketPC und möchte dabei das wenn ich auf den Button in einem Form drücke, dann ein neues Form dargestellt wird und das ich davon auch wieder zurück kann.
Das Hauptform ist Main.vb
<PRE>
Imports System.IO
Imports System
Imports System.Exception
Public Class Main
Inherits System.Windows.Forms.Form
Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Const FILENAME = "auftrag.txt" ' Konstante Dateiname
#Region " Windows Form Designer generated code "
...
#End Region
Private Sub Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' ##################### Datei zum testen erstellen und mit Daten füllen
Dim sr As StreamWriter
sr = New StreamWriter("\" & FILENAME)
sr.WriteLine("789")
sr.WriteLine("456")
sr.WriteLine("123")
sr.Close()
' ######################
Call readNr() ' Aufruf zum lesen der Datei
End Sub
' Auslesen der Datei auftrag.txt
Private Sub readNr()
Try
Dim FiStr As FileStream = New FileStream("\" & FILENAME, FileMode.Open)
Dim StrRe As StreamReader = New StreamReader(FiStr)
Dim i As Integer
Dim iCount As Integer
ComboBox1.Items.Clear()
Do Until StrRe.Peek() = -1
ComboBox1.Items.Insert(0, StrRe.ReadLine)
i += 1
Loop
StrRe.Close()
Catch except As Exception
MsgBox(except.ToString)
End Try
End Sub
' Programm beenden
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
' Anzeigen des Forms für die Dateneingabe
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim myForm1 As Form1
myForm1.Show()
Catch except As Exception
MsgBox(except.ToString)
End Try
End Sub
End Class
</PRE>
und das Form1 hat den Code
<PRE>
Imports System.IO
Imports System
Public Class Form1
Inherits System.Windows.Forms.Form
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu
Const FILENAME = "daten.txt" ' Konstante Dateiname
#Region " Vom Windows Form-Designer generierter Code "
...
#End Region
Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Prüfung ob Datei schon vorhanden ist
' Andernfalls neu erstellen
myForm1 = Me
Dim sr As StreamWriter
' Nachschauen ob die Datei schon vorhanden ist, wenn ja neu erstellen
If System.IO.File.Exists("\" & FILENAME) = False Then
sr = New StreamWriter("\" & FILENAME)
sr.Close()
End If
TextBox1.Focus()
End Sub
' Auf 'Return'- Zeichen in der Eingabe reagieren
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
' Wenn 'Return' betätig wird
If Asc(e.KeyChar) = 13 Then
Call writeFile() ' Aufruf writeFile() - Daten in Datei schreiben
End If
End Sub
' Datei öffnen und eingescannte Daten in diese schreiben
Private Sub writeFile()
' String formatieren ( Tag + Zeit + ID ) und in Datei schreiben
Dim FiStr As FileStream = New FileStream("\" & FILENAME, FileMode.Append)
Dim StrWr As StreamWriter = New StreamWriter(FiStr)
StrWr.WriteLine(Format(Now(), "d. MMM yyyy") & "|" & Format(Now(), "HH:mm:ss") & "|" & TextBox1.Text)
StrWr.Close()
TextBox1.Text = ""
TextBox1.Focus()
Call readFile() ' Aufruf readFile - aktualisieren der ListBox
End Sub
' Auslesen der Datei und füllen der ListBox
Private Sub readFile()
Try
Dim FiStr As FileStream = New FileStream("\" & FILENAME, FileMode.Open)
Dim StrRe As StreamReader = New StreamReader(FiStr)
Dim i As Integer
Dim iCount As Integer
ListBox1.Items.Clear()
Do Until StrRe.Peek() = -1
ListBox1.Items.Insert(0, StrRe.ReadLine)
i += 1
Loop
StrRe.Close()
TextBox1.Focus()
Catch except As Exception
End Try
End Sub
' Anwendung schließen
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
End Sub
' Löschen des Inhalts der Datei
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim FiStr As FileStream = New FileStream("\" & FILENAME, FileMode.Truncate)
Dim StrWr As StreamWriter = New StreamWriter(FiStr)
StrWr.Close()
ListBox1.Items.Clear()
End Sub
End Class
</PRE>
aber ich bekomme immer eine Exception und kein Form.
Gruß cos
Comment