Entwickler-Ecke

WinForms - Fontstyles


JayK - Do 30.03.06 18:24
Titel: Fontstyles
Hallo,

ich habe eine RichTextBox vor mir und eine ToolBar mit Buttons für Fett, Kursiv und Unterstrichen.
Wenn ich auf einen der Knöppe klicke, dann wird der Stil auch angewandt. Wenn ich aber nochmals draufklicke, tut sich nichts neues wegen folgendem Problem:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
private void boldToolStripButton_Click(object sender, EventArgs e)
    {
      if (RichTextBox.SelectionFont.Style == FontStyle.Bold) /* so geht das nicht, ich möchte, das das auch true wird, wenn z.B. auch italic dabei ist */
      {
        RichTextBox.SelectionFont = new Font(RichTextBox.SelectionFont, /* hier müsste jetzt RichTextBox.SelectionFont.Styles minus FontStyle.Bold hin */);
      }
      else
      {
        RichTextBox.SelectionFont = new Font(RichTextBox.SelectionFont, FontStyle.Bold | RichTextBox.SelectionFont.Style);
      }
      getFormattingToToolbar();
    }


An der Stelle der Kommentare sind meine Probs. Wie kriege ich rauß, ob der Style des Fonts unter anderem FontStyle.Bold ist und nicht ausschließlich?
Und zweites Problem: Wie "subtrahiere" ich das Bold von dem ursprünglichen Style?

Ich weiß, neue Frage neues Topic, aber das hängt so nah miteinander zusammen danke ich... oder täusche ich mich?

Kann auch sein, dass ich mal wieder eine viel einfachere Lösung übersehen habe -.- wie bei den kurzen Datumsstrtings [http://www.c-sharp-forum.de/viewtopic.php?t=57176&start=0&postdays=0&postorder=asc&highlight=] neulich :roll:

Vielen Dank
JayK


Robert_G - Do 30.03.06 18:55

Ich glaube hier kennt sich jemand nicht mit Flags aus. ;)
Man nehme eine simple Flags-Deklaration:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
[Flags]
enum MyFlags
{
  Eins = 1,
  Zwei = 2,
  Drei = 4  // müssen 2'er-Potenzen sein
}




Das soll jetzt nur sehr ein kurzer Rundumschlag zu Flags sein. Wenn du sets in Delphi32 benutzt hattest sollte es kein Problem darstellen. Wenn nicht kannst du dich im weiten Internet schlauschmökern.

Sollte reichen um eine Lösung für dein Problem zu deduzieren. :P


JayK - Do 30.03.06 19:09

user profile iconRobert_G hat folgendes geschrieben:
Ich glaube hier kennt sich jemand nicht mit Flags aus. ;)

Genau ;)

Danke für die Einführung, ich glaube damit sollte ich das gebacken kriegen. :)
Wenn nich, dann melde ich mich :mrgreen:

Okay der Fall ist nicht eingetreten. Es funzt alles wie es soll. :)