Scrollbar + Label

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von DosiSoft.

    Scrollbar + Label

    Hey,

    habe ein Panel, in welchem oben links ein Label ist und rechts neben dem Panel eine Vertikale Scrollbar.


    Nun habe ich es geschafft, durch die Scrollbar das Label immer runter oder hoch zu bewegen.

    Allerdings kommt es zu einem merkwürdigen Bug, bei dem, wenn man die Scrollbar bspw. nach unten bewegt der Text stück für Stück oben abschneidet.
    Ich vermute, dass das Label nicht korrekt verschoben wird.

    Habe folgenden Code:

    VB.NET-Quellcode

    1. Dim chatscroll As Integer
    2. Private Sub vssChatScroll_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles vssChatScroll.Scroll
    3. If vssChatScroll.Value > chatscroll Then
    4. lblChat.Location = New Point(lblChat.Location.X, lblChat.Location.Y - vssChatScroll.Value)
    5. chatscroll = vssChatScroll.Value
    6. ElseIf vssChatScroll.Value < chatscroll Then
    7. lblChat.Location = New Point(lblChat.Location.X, lblChat.Location.Y + vssChatScroll.Value)
    8. chatscroll = vssChatScroll.Value
    9. End If
    10. End Sub


    Wo liegt der Fehler?

    Danke schonmal.

    Grüße
    Ich vermute mal, dass das passiert, weil das Label den Clientbereich des Panels verlässt. Wenn das Label also eine Position unter 0 oder größer als die Abmessungen des Panels hat, dann werden die Teile, die Außerhalb dieses Bereiches sind, nicht angezeigt. Es gibt auch keine Möglichkeit daran was zu ändern, denn das sind Mechanismen von Crontrols, die durch Windows festgelegt werden.
    Hallo,

    nimm eine Textbox
    mit
    Multiline = True
    ReadOnly = True
    ScrollBar = Vertical

    Wenn du in die ähnlichen Beiträgen suchst, dann siehst du viele Antworten.

    MFG

    Alex-Digital :D
    ~ Alex-Digital :D

    if(!Internet.VBP.Get<User>("Alex-Digital").IsOnline) this.Close(); :D

    Alex-Digital schrieb:

    Hallo,

    nimm eine Textbox
    mit
    Multiline = True
    ReadOnly = True
    ScrollBar = Vertical

    Wenn du in die ähnlichen Beiträgen suchst, dann siehst du viele Antworten.

    MFG

    Alex-Digital :D


    Ist in meinem Fall optisch etwas unpraktisch.

    Ich möchte einen Instant Messenger machen, was auch soweit funktioniert, allerdings möchte ich dies per Label regeln, damit der graue Hintergrund von der ReadOnly Textbox umgangen wird.

    Somit versuche ich es mit einem Label, welches den Chat ausgibt und hoch und runter gescrollt werden kann, wenn der Text zu lang ist.

    Fazit:
    Ich möchte keine Textbox, da der Hintergrund stört.
    @DosiSoft: Vielleicht schreibst Du erst mal auf, was Du eigentlich willst. Dann lässt es sich nämlich leichter helfen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    DosiSoft schrieb:

    Wie soll das funktionieren?
    Entschuldiung meinte natürlich ListView


    Es gibt ja die Eigenschaft BackgroundImage bei der ListView. Mit dieser Eigenschaft kannst du bei einer ListView ein Hintergrundbild setzten. Wenn du also das Hintergrundbild, welches du auf deiner Form hast so zuschneidest, dass du nur den ausschnitt als Hintegrund festlegst, welchen du in der ListBox benötigst.

    Ich hoffe, dies war verständlicher.
    Mit freundlichen Grüßen



    GVI (Teil1/2): 80%
    Ich danke erstmal, dass Ihr mir hier helft.

    Ich habe nun ein Listview eingefügt, den Hintergrund habe ich bereits angepasst. Allerdings verstehe ich deine Anmerkung mit dem Zuschneiden nicht wirklich, da ich mir nicht vorstellen kann, was man da wie zuschneiden könnte.

    Ich möchte ja einfach die Chateinträge anzeigen lassen, sodass der blauliche Hintergrund hinter dem Text ist und man runterscrollen kann, je nach Länge des Textes.
    Hat sich erledigt, habe nun die AutoScroll Eigenschaft im Panel aktiviert.

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