Bild in Richtextbox darstellen Dauerhaft

  • VB.NET

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von nafets3646.

    Bild in Richtextbox darstellen Dauerhaft

    Also hallo ersmal,
    ich möchte ein Bild in einer Richtextbox einfügen, dursch den code untermir funktioniert es halt aber wenn ich was in der Richtextbox schreibe geht das bild leider weg.

    wie kann ich es ändern das das bild im hintergrund von der Richtextbox dauerhaft bleibt?

    Zitat von »haiyyu«

    VB.NET-Quellcode

    1. Clipboard.SetImage(Image.FromFile("datei.png"))
    2. Me.RichTextBox1.Paste()





    MfG
    getsha :D
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur

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

    ich mach ja ein chat,
    und mit ein hintergrund bild sieht es schoener aus :D

    nur der code [oben] geht zwar aber sobald ich was schreibe verschwindet das bild -.-'
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur
    Dann bastel dir ein eigenes UserControl ^^
    Das sollte dann die Properties Bild und Text haben, und in der OnPain-Sub lässt du dann einfach das Bild zeichnen und den Text zeichnen.

    Aber! Leite dir das Control lieber von der ListBox ab, als von einer TextBox, das macht mehr Sinn bei nem Chat.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    verstehe ich nicht ganz, kann ich den code (oben) nicht verwenden bzw nur so zu änderndas das bild nicht weg geht wenn man etwas schreibt!?
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur
    Es heißt nicht umsonst TextBox, sie sind dazu gemacht um Text anzuzeigen.

    Bastel dir eben selbst ein kleines UserControl, was Bild + Text anzeigt, ich denke das ist nicht allzuviel Arbeit, wenn man sich etwas damit auseinandersetzt.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    Ja trotzdem, es ist um einiges angenehmer (imho) ein eigenes Control zu basteln, was man nach Belieben ändern kann, anstatt sich mit Mühe und Not die RichTextBox zurechtzufriemeln ;)
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    kann mir vielleicht einer mal verraten wieso dieser code oben so funktioniert das das bild zwar im hintergrund ist aber wenn man was schreibt geht das bild weg...

    ich möchte es aber dauerhaft im hintergrund der richtextbox haben, kann man die richtextbox nicht einfach transparent machen ??


    ps: wenn mir vielleicht jemand helfen möchte und es kurz zusammen mit mir machen würde wäre das thema hier schon beendet!
    MfG
    getsha
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur
    Mach dir am besten ein GDI-Control. Falls es dich interessieren sollte, ich hatte hier mal ein GDI-Control gepostet, welches eine Sprechblase im iOS-Messages-App-Stil darstellt. Dann müsstest du nur noch ein eigenes, scrollbares Control erstellen und dieses dann mit den Sprechblasen füllen.

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

    Von: stackoverflow.com/questions/60…transparent/608256#608256


    VB.NET-Quellcode

    1. Public Class TransparentRTB
    2. Inherits RichTextBox
    3. Public Sub New()
    4. Me.SetStyle(ControlStyles.Opaque, True)
    5. Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, False)
    6. End Sub
    7. Protected Overrides ReadOnly Property CreateParams As CreateParams
    8. Get
    9. Dim parms = MyBase.CreateParams
    10. parms.ExStyle = parms.ExStyle Or 32
    11. Return parms
    12. End Get
    13. End Property
    14. End Class


    Statt das Image auf die Form zu zeichnen kann man natürlich auch einfach eine Picturebox passender Größe unter die RTB legen.
    Hi picoflop,
    also ich habe den code jetzt in mein projekt eingefügt.
    aber wenn ich dann die Richtextbox1 auf das bild ziehe und ich debugge das ganze ist die richtextbox trozdem nicht Transparent.
    und wenn ich die auf Transparent umschalte kommt da eine meldung das man die Richtextbox nicht Transparent schalten kann..

    ich bin echt hoffnungslos. kann mir nicht vielleicht jemand via teamviewer kurz helfen?

    MfG
    getsha


    Edit by Manschula: Unnötiges Vollzitat entfernt
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur

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

    getsha schrieb:

    Richtextbox1

    Die ist nicht transparent. Such in der Werkzeugleiste nach "TransparentRTB", wenn du die auf die Form ziehst, heißt sie logischerweise TransparentRTB1.


    kann mir nicht vielleicht jemand via teamviewer kurz helfen?

    Pommes für lau und dann auch noch Ketchup und Mayo dazu? Programmieren heißt Hirn bewegen. Wenn's einfach wäre würde man es Fußball nennen ...

    getsha schrieb:

    ich finde dieses TransparentRTB leider nicht in meiner liste.

    Nachdem zu den Code (der Klasse) hinzugefügt hast, machst du einmal Projekt erstellen und dann sollte es irgendwo da drin sein. VS2012 hat ein Suchfenster da kann man den Namen eingeben, ob 2010 das auch hat, weiß ich nicht. Alternativ kann man jedes Control natürlich auch immer zur Laufzeit hinzufügen.
    Okay Danke erstmal für das.

    also jetzt habe ich die TransparentRTB und es Funktioniert auch alles aber bis auf das:

    Screen:
    wie kann ich den text sauberer hinbekommen?
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur