myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Hilfe bei TCP IP Chat in Visual Basic (Design Technisch im Script) (https://mygully.com/showthread.php?t=3060323)

MultiSchnuffelinchen 10.10.13 14:15

Hilfe bei TCP IP Chat in Visual Basic (Design Technisch im Script)
 
Hi,

ich brauch mal Hilfe bei einem TCP IP Chat den ich in Visual Basic geschrieben hab (nicht wirklich selbst, war ein Youtube Tutorial und ich habs nachgemacht)
Also, ich möchte, dass meine zwei RichTextBoxen und meine TextBox transparent sind, bzw. ich durch sie hindurch auf meinen Desktop gucken kann, also dass ich meinen Desktophintergrund sehe.
Die Schrift soll aber nicht transparent werden, wie es der Fall ist, wenn ich in den Form Optionen Opacity runterdrehe.
Kann mir da einer Helfen? Und wenn ja, wie ich dass dann in meinen Code reinbaue?

Ich schreib euch unten noch den Code rein und ein zwei Lösungsansätze, die ich im Internet gefunden hab, aber bei mir nicht geklappt haben.

Ich sag schon mal Danke im voraus :T

Code:

Imports System.Net.Sockets, System.Threading, System.IO

Public Class Form1

    Dim Listener As New TcpListener(8000)
    Dim Client As TcpClient
    Dim Message As String
   
 


   

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        Listener.Stop()
        Application.Exit()

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        Listener.Start()
        Dim listthread As New Thread(New ThreadStart(AddressOf listening))
        listthread.Start()
    End Sub

   


    Private Sub listening()
        Listener.Start()
    End Sub

    Private Sub btnSendMsg_Click(sender As Object, e As EventArgs) Handles btnSendMsg.Click
        If rtbTextToSend.Text = "" Then
            MsgBox("Geben Sie einen Text ein!", MsgBoxStyle.Exclamation, "Zu sendender Text fehlt")
        Else
            Try
                Client = New TcpClient(tbip.Text, 8000)
                Dim writer As New StreamWriter(Client.GetStream())
                writer.Write(rtbTextToSend.Text)
                rtbReceivedText.AppendText(Format(Now, "[dd.MM |  hh:mm:ss]]") & " Du: " & rtbTextToSend.Text & vbCrLf)
                rtbTextToSend.Clear()
                writer.Flush()

            Catch ex As Exception
                MsgBox("Fehler")
            End Try



        End If
    End Sub

    Private Sub tmrListener_Tick(sender As Object, e As EventArgs) Handles tmrListener.Tick
        If Listener.Pending = True Then
            Message = ""
            Client = Listener.AcceptTcpClient()

            Dim reader As New StreamReader(Client.GetStream())
            While reader.Peek > -1
                Message = Message + Convert.ToChar(reader.Read()).ToString
            End While

            rtbReceivedText.AppendText(Format(Now, "[dd.MM |  hh:mm:ss]]") & " Er/Sie: " & Message & vbCrLf)
        End If
    End Sub

    Private Sub rtbTextToSend_KeyDown(sender As Object, e As KeyEventArgs) Handles rtbTextToSend.KeyDown
        If e.KeyCode = Keys.Enter Then
            btnSendMsg.PerformClick()
        End If
    End Sub



 
End Class

Lösungsansätze

Code:

Class TransparentControl
    Inherits Control
    Public Sub New()
        MyBase.SetStyle(ControlStyles.UserPaint, True)
        MyBase.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
        MyBase.SetStyle(ControlStyles.SupportsTransparentBackColor, True)
        MyBase.SetStyle(ControlStyles.ResizeRedraw, True)
        MyBase.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
    End Sub

    Private Sub InitializeComponent()
        Me.SuspendLayout()
        Me.ResumeLayout(False)

    End Sub
End Class
Class TransparentRichTextBox
    Inherits RichTextBox
    Public Sub New()
        MyBase.ScrollBars = RichTextBoxScrollBars.None
    End Sub
    Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams
        Get
            Dim cp As CreateParams = MyBase.CreateParams
            cp.ExStyle = cp.ExStyle = cp.ExStyle Or &H2O
            Return cp
        End Get
    End Property
    Protected Overloads Overrides Sub OnPaintBackground(ByVal e As PaintEventArgs)
    End Sub
    Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
        MyBase.OnTextChanged(e)
        MyBase.Parent.Refresh()
    End Sub
End Class



Code:

Public Sub Hallo()



        Me.BackColor = Color.Transparent
        Me.TransparencyKey = Color.Transparent
        Me.BackColor = Color.Transparent
    End Sub


NetWebs 10.10.13 17:24

Ist das Forms oder WPF?

Der Code ist gruselig...

MultiSchnuffelinchen 10.10.13 18:13

Forms.

ProgMaster 10.10.13 18:40

Was heißt "nicht klappen"?

MultiSchnuffelinchen 10.10.13 21:27

Also, das Problem das ich habe ist, ich weiß ned wo und wie ich den Code fürs transparent machen einfügen soll, habs an mehreren Stellen ausprobiert und es funzt einfach ned.
Der 1. Code des Lösungsansatzes würd ich gern hernehmen, bei mir kommt aber immer ne Fehlermeldung


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:15 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.