| |

VB.NET - FortgeschritteneRe: .show .showdialog | |  | Autor: Neo21 | Datum: 13.05.04 16:33 |
| ich programmiere gerade nen client
immer wenn vom server ne nachricth gesendet wird soll er ein neues fenster öffnen.
das problem ist nur das sich das neue fenster zwar öffnet aber es bleibt stehn (laggy)
das interface wird nicht richtig angezeigt und dann kommt nach ein paar sekunden das dieses fenster keine rückmeldung gibt.
wenn ich statt mit "fenster.show" "fenster.showdialog" benutze funktionierts wunderbar, aber dann öffnet er bei ner neuen server nachricth kein weiteres fenster was das programm aber machen sollte...
verstanden?
hier ist der vereinfachte code nochmal
Const READ_BUFFER_SIZE As Integer = 255
Const PORT_NUM As Integer = 10000
Private client As TcpClient
Private readBuffer(READ_BUFFER_SIZE) As Byte
' Pop up a Connect user dialog and send a message requesting user to log in
' to chat.
Sub AttemptLogin()
Dim frmConnectUser As New frmConnectUser
frmConnectUser.StartPosition = FormStartPosition.CenterParent
frmConnectUser.ShowDialog(Me)
SendData("CONNECT|" & frmConnectUser.txtUserLogin.Text)
frmConnectUser.Dispose()
End Sub
' This is the callback function for TcpClient.GetStream.Begin to get an
' asynchronous read.
Private Sub DoRead(ByVal ar As IAsyncResult)
Dim BytesRead As Integer
Dim strMessage As String
Try
' Finish asynchronous read into readBuffer and return number of
' bytes read.
BytesRead = client.GetStream.EndRead(ar)
If BytesRead < 1 Then
' If no bytes were read server has close. Disable input window.
MarkAsDisconnected()
Exit Sub
End If
' Convert the byte array the message was saved into, minus two for
' the
' Chr(13) and Chr(10)
strMessage = Encoding.ASCII.GetString(readBuffer, 0, BytesRead - 2)
'ruft die funktion auf die das fenster erstellt (im orginal
' programm filter die
'funktion noch die einzelnen nachrichten typen (z.b. chat, login,
' disconnect usw)
ProcessCommands(strMessage)
' Start a new asynchronous read into readBuffer.
client.GetStream.BeginRead(readBuffer, 0, READ_BUFFER_SIZE, _
AddressOf DoRead, Nothing)
Catch e As Exception
MarkAsDisconnected()
End Try
End Sub
' Send the server a disconnect message
Private Sub frmMain_Closing(ByVal sender As Object, ByVal e As _
System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
' Send only if server is still running.
If cbe_status.SelectedIndex <> 0 Then
SendData("DISCONNECT")
End If
End Sub
' When the form starts, this subroutine will connect to the server and
' attempt to
' log in.
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
Dim frmConnectUser As New frmConnectUser
Try
' The TcpClient is a subclass of Socket, providing higher level
' functionality like streaming.
client = New TcpClient("localhost", PORT_NUM)
' Start an asynchronous read invoking DoRead to avoid lagging the
' user
' interface.
client.GetStream.BeginRead(readBuffer, 0, READ_BUFFER_SIZE, _
AddressOf DoRead, Nothing)
' Make sure the window is showing before popping up connection
' dialog.
Me.Show()
AttemptLogin()
Catch Ex As Exception
MsgBox("Server is not active. Please start server and try again.", _
MsgBoxStyle.Exclamation, Me.Text)
Me.Dispose()
End Try
End Sub
Private Sub ProcessCommands(ByVal strMessage As String)
'hier wird das fenster geöffnet das sich aufhängt
dim test as frm_fenster
test = new frm_fenster
test.show
End Sub danke das du es dir wenigstens anschaust
ich darf jetzt möbel zusammen schrauben fürn cheff kommt davon wenn man als programmierer nicht proggen kann *lach* |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|