In Chat bei Privatchat automatisch bei angeschriebenen user tab öffnen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Alpha.

    In Chat bei Privatchat automatisch bei angeschriebenen user tab öffnen

    wenn ich einen doppelklick mache öffnet es schon den neuen tab schreiben kallpt auch aber wie bekomme ich beim anderen angeschreiebenen user den tab auf
    ? :D


    VB.NET-Quellcode

    1. Private Sub ListBox1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
    2. Try
    3. Dim bolchatgefunden As Boolean = False
    4. Dim NewTab As New TabPage
    5. For i As Integer = 0 To TabControl1.TabPages.Count - 1
    6. If TabControl1.TabPages.Item(i).Text = ListBox1.Items.Item(ListBox1.SelectedIndex) Then
    7. bolchatgefunden = True
    8. SelectedTab = i


    Edit by ~blaze~:
    *Thema aus Boarddiskussionen verschoben, VB.Net-Tag eingefügt*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()

    Hallöchen erstmal hier im Forum. es wäre schon, wenn du deinen Beitrag so überarbeitest, dass der Richtige BB-Code für z.B. VB.Net-Quellcode verwendet wird. Macht das ganze sehr viel übersichtlicher. Schau dich mal im Beitragseditor um, dort müsstest du das passende Finden.

    Ich müsste dazu wissen, wie du die Nachrichten vom einem Chat zum anderen überträgst, wie dein "Protokoll" dafür aussieht usw.
    Ich hoffe doch du machst das als Server-Client Anwendung auf TCP-Basis.
    Hi
    übrigens sieht's so aus, als würdest du eine neue TabPage instantiieren, egal, ob bereits ein offener Tab existiert. Wenn du Nothing zuweist und anschließend abfragst, ob der Tab geöffnet ist (oder den Index standardmäßig auf -1 setzt), kannst du überprüfen, ob keiner der Tabs den Chat bereithält.
    Allgemein ist es eleganter, wenn die Form-Logik losgelöst, d.h. in Klassen gekapselt, an die die Präsentation der Logik gebunden wird. D.h. du hast bspw. eine ListBox, die die Kontakte bereithält, die ListBox wird bspw. an eine System.ComponentModel.BindingList(Of Contact) gebunden (die Klasse Contact enthält alle Benutzerdaten, hat IEquatable(Of Contact) implementiert, Equals und GetHashCode überschrieben, usw.) und du hast dann eine Liste, die die geöffneten Chats bereitstellt und verwaltet. Dann tust du dir wesentlich leichter.
    Schau' dir einfach mal folgendes an:
    - Datenbindung, System.ComponentModel.BindingList(Of T)
    - IEquatable(Of T), Equals(Object), GetHashCode
    - Datenbindung über ListBox
    ListBox stellt eine DisplayMember-Eigenschaft bereit, die angibt, an welche Eigenschaft des jeweiligen Typs der Liste (in deinem Fall Contact) gebunden werden soll. Hat Contact bspw. eine Eigenschaft "Name", so kannst du DisplayMember auf "Name" festlegen, nachdem du die Bindung über ListBox.DataSource = _yourContactList erzeugt hast.

    Es ist schwer, jemanden über die ersten paar Postings einzuschätzen, aber es sieht auf jeden Fall nicht so aus, als wärst du ein kompletter Anfänger. ;)

    Gruß
    ~blaze~