Text wird nicht vollständig gezeichnet

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Basis2.

    Text wird nicht vollständig gezeichnet

    Hi, ich habe ein Problem
    Ich lasse während der Laufzeit Panels mit jeweils einen Label drin zeichnen

    Problem, der Text den ich eingebe wird nicht vollständig gezeichnet

    VB.NET-Quellcode

    1. Dim loccount As Integer = 3
    2. Dim labelcount As Integer = 0
    3. Private Sub PanelNormal(Optional ByRef text As String = "")
    4. Dim pl As New Panel
    5. Dim ll As New Label
    6. loccount = loccount + 34
    7. pl.Location = New Point(6, loccount)
    8. pl.Size = New Point(648, 28)
    9. pl.BackColor = Color.Gray
    10. pl.AutoSize = True
    11. pl.Name = loccount
    12. ll.Location = New Point(3, 9)
    13. ll.Text = text
    14. pl.Controls.Add(ll)
    15. outputpanel.Controls.Add(pl)
    16. End Sub


    Beispiel:

    VB.NET-Quellcode

    1. PanelNormal("System: This computer is connected with the network")

    Da wird nur dann System: This angezeigt

    Währe toll, wenn ihr mir helfen würdet

    Basis2 schrieb:

    VB.NET-Quellcode

    1. [...]
    2. pl.Size = New Point(648, 28)
    3. [...]


    Size ist kein Point sondern Size
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    @misbe Wat? Size ist ne Size, weder Point noch Rectangle.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    @Trade Ups... Stimmt, hast recht... Sorry bin gerade etwas neben der Spur (ist ausgebessert)
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    Glaubt der Tade Dir :P.
    Passiert ;) Wir sind ja alle menschlich ^^
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Basis2 schrieb:

    Ich lasse während der Laufzeit Panels mit jeweils einen Label drin zeichnen
    Ähm - ein Zeichen-Vorgang findet bei dir nicht statt.
    Du fügst dynamisch Controls zu, und vmtl. ist eins davon wohl zu klein.
    Generell ist Control zufügen der falsche Ansatz, um was anzuzeigen - aber es gibt seltene Ausnahmen.
    dein "outputpanel" ist wohl zu klein.
    Färbe ihn doch mal ein, damit du siehst wo genau der ist.

    und der 1. Eintrag beginnt ja erst ab Y=34.. also ca. 1 cm unterhalb des Randes.

    auch ist dein Label recht Kurz.. ich vermute, das er deinen Text umbricht, und in 2 Zeilen darstellt. Und die 2. siehst du dann nicht mehr.
    Da Du ja keine Breite für dein Label angegeben hast.
    mach mal:
    z.B. ll.Width = pl.Width

    (es gibt sicher schönere Wege dies zu lösen :)