Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
CheckBox - Textumbruch beim AutoSize = 'False'
Futzman
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

CheckBox - Textumbruch beim AutoSize = 'False'

beantworten | zitieren | melden

Hallo,

ich bin ein ziemlicher Anfänger und brauche Eure Hilfe. Es geht um folgendes: In einer Checkbox steht Autositze auf False und der Text, beim überschreiten der Länge, des dazu vorgesehenen Feldes wird an einem "Leerzeichen" gebrochen. Ich muss jetzt nun die Länge des sichtbaren Text wissen, um den MouseClick nur auf Checkbox und den Text festzulegen (und nicht auf freien Bereich links, der wg. Zeilenumbruches entsteht. Länge des Textes und MouseClick festzulegen kann ich. Das Problem liegt in dem Zeilenumbruch. wie kann ich feststellen, nach welchem Wort Umbruch stattfindet?
Vielen Dank für Eure Hilfe!
private Nachricht | Beiträge des Benutzers
chilic
myCSharp.de - Experte



Dabei seit:
Beiträge: 2.105

beantworten | zitieren | melden

Ich glaube da ist ein Bild hilfreich. Ich wüsste nämlich gerade nicht wo links Platz entsteht wenn Text umbricht.
private Nachricht | Beiträge des Benutzers
Futzman
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

Nicht links sondern rechts. sorry.
Hier sind Bilder, die vielleicht besser erklären was ich meine. Auf einem der Bilder wird mit der roten Farbe der Bereich aufgezeichnet, der nicht mehr für das dritte Wort ausreicht. Und das Problem an allem ist, der Klick auf den leeren Bereich zwischen "m" und dem rechten roten Rand ruft ein Event aus, was ich zu unterbinden versuche.
Attachments
private Nachricht | Beiträge des Benutzers
Futzman
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

nicht links natürlich, sondern rechts.
private Nachricht | Beiträge des Benutzers
Jompikumpi
myCSharp.de - Member



Dabei seit:
Beiträge: 58

beantworten | zitieren | melden

Ohne deine Benutzeroberfläche zu kennen denke ich, dass du wahrscheinlich ein grundsätzliches Design- bzw. Layoutproblem hast. Und du versuchst es gerade eher umständlich mit ein paar Pflastern verschwinden zu lassen.

Zum Berechnen der Textgröße kannst du z.B. bei determine-label-size-based-upon-amount-of-text-and-font-size-in-winforms-c gucken.

Ich würde aber eher die Weite der CheckBox ändern, wenn der Text sich ändert.
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

beantworten | zitieren | melden

Für das Layout muß man überhaupt nichts berechnen, dafür hat WinForms bereits alles, was man braucht. Meistens jedenfalls.

Siehe z.B.:
Position and layout of controls
Walkthrough: Arranging Controls on Windows Forms Using a TableLayoutPanel
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
Futzman
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

Vielen Dank für die Antworten schon mal.
aber es bleibt nun mal so< dass CheckBox.AutoSize = False und CheckBox.Size.Width eine feste Größe hat. Warum es so ist und ob ich es ändern muss war nicht meine Frage. Meine Frage war eher wie kann ich die Länge des sichtbaren Textes (bis zum automatischen Umbruch) berechnen, damit ich den MouseClick nur auf "CheckBox-Kästchen" und auf den sichtbaren Text erlaube. Sorry wenn ich mich nicht klar genug ausgedrückt habe.
private Nachricht | Beiträge des Benutzers
Jompikumpi
myCSharp.de - Member



Dabei seit:
Beiträge: 58

beantworten | zitieren | melden

Offensichtlich hast du dir den Link in meinem Beitrag nicht ernsthaft zu Gemüte geführt. Da steht das Wesentliche drin, was du brauchst.

Der Rest ist Transferleistung.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Jompikumpi am .
private Nachricht | Beiträge des Benutzers