Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Vb08 Textlänge in Label begrenzen

Frage Entwicklung VB for Applications

Mitglied: erik87

erik87 (Level 1) - Jetzt verbinden

19.02.2011 um 13:05 Uhr, 4160 Aufrufe, 2 Kommentare

Hallo Forumgemeinde,


ich habe ein kleines Problem, bei der mir keine einfache Lösung einfällt.

Ich habe mir ein Benutzersteuerelement erstellt, welches ein Label und Pictureboxen zur Anzeige enthält. Diese erstelle ich automatisch zu Laufzeit in einem Panel. Nun ist es möglich die Größe des Panels zu ändern. Momentan funktioniert das so, dass sobald das Steuerelement größer als das Panel ist, eine Scrollbar erscheint und der Nutzer sich das dann durch scrollen alles anschauen kann.

Ich würde aber gerne das Steuerelemet bis zu einer bestimmten Minimalgröße mit "schrumpfen" lassen (nur in der Breite, meistens ist der Text im LAbel nur 10 Zeichen breit, gelegentlich um einiges mehr). Aus anderen Programmen kenne ich es, das der Text dann abgeschnitten und ein "[...]" eingefügt wird. Die Größenänderung ist für mich kein Problem, nur das Text abschneiden. Da ja nicht jeder Buchstabe gleich breit ist, kann man das weder schön rechnen, noch statisch von einer bestimmten Anzahl ausgehen, da das echt S** aussieht.

Gibt es eventuell eine fertige Funktion für dieses Problem? Oder muss ich mir jetzt zu jedem Buchstaben die Breite raussuchen und das ganze durchrechnen lassen das es immer Gleich abschneidet. Die Steuerelemente werden übrigens untereinander erstellt und fungieren quasi als einspaltige tabellarische Übersicht.


Mit freundlichsten Grüßen
Mitglied: bastla
19.02.2011 um 13:47 Uhr
Hallo erik87!

Den Vorschlag, eine nicht-proportionale Schrift zu verwenden, spare ich mir gleich mal ...

Eine passende Funktion kenne ich leider auch nicht, aber als Workaraound fiele mir ein, in einem unsichtbaren weiteren Label (im Beispiel "Dummy") per Schleife solange verschiedene String-Längen zu testen, bis die (automatische) Breite ("Width") den Vorgabewert überschreitet - also etwa:
01.
Dim DerText As String = InputBox("Text eingeben!") 
02.
Dim Breite As Integer = 80, i As Integer, ZeichenAnzahl As Integer 
03.
ZeichenAnzahl = 1 
04.
For i = Len(DerText) To 1 Step -1 
05.
    Dummy.Text = Mid(DerText, 1, i) 
06.
    If Dummy.Width <= Breite Then 
07.
        ZeichenAnzahl = i 
08.
        Exit For 
09.
    End If 
10.
Next 
11.
Label1.Text = Mid(DerText, 1, ZeichenAnzahl) & IIf(ZeichenAnzahl < Len(DerText), "...", "")
Die Länge von "..." müsste bei der Vorgabe von "Breite" entsprechend einkalkuliert werden.

Grüße
bastla
Bitte warten ..
Mitglied: erik87
19.02.2011 um 13:59 Uhr
Hallo Bastla,

sowas in der Art is mir vorhin auch eingefallen, nur das ich nen extra Label mit "[...]" erstellen würde, damit dieses dann wirklich immer genau untereinander ist. Außerdem würde ich in diesem Fall mit den Eigenschaften Maximumsize arbeiten... Ich denke das wird auch die beste Option sein.

Ich dachte das es vllt. dafür ne fertige Eigenschaft gibt ;)

Danke!
Bitte warten ..
Ähnliche Inhalte
Netzwerkprotokolle
MPLS Label Distributing Protocoll
Frage von battermanNetzwerkprotokolle1 Kommentar

Hallo Leute, ich muss da mal was wegen dem Labl Distributing Protocoll fragen. Also: Wenn ein Label Switched Path ...

Visual Studio
Bewegtes Label Visual Basic
gelöst Frage von Cougar77Visual Studio1 Kommentar

Guten Abend, ich versuche mich grade ein bisschen an VB. An sich würde ich gerne ein beliebiges Element (Label, ...

Windows Netzwerk
Single Label Domain Umbennen
Frage von daMopsiWindows Netzwerk5 Kommentare

Hallo Zusammen, ich habe vor kurzen eine neue Stelle als Admin in einer Produktionsfirma angenommen und habe mich fürs ...

Windows Server
Welche Version vom Server, Label nicht erkennbar
Frage von malkieWindows Server8 Kommentare

Hallo, habe ein kleines Problem, wollte mir Windows Server 2008 kaufen. Jetzt steht über den Artikel : WinSrv Std ...

Neue Wissensbeiträge
Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 3 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 4 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 16 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 22 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement17 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...