Hi,
also in OpenOffice ist es ja auch so, dass wenn man etwas fett markiert und weiterschreibt der ganze Satz so lange fett geschrieben wird, bis man wieder auf den Button drückt. Probier mal das hier:
[cs]
'Button_Click (...) Handles Button.Click
Bold()
Private Sub Bold()
If RichTextBox1.SelectionFont IsNot Nothing Then
Dim currentFont As System.Drawing.Font = RichTextBox1.SelectionFont
Dim newFontStyle As System.Drawing.FontStyle
If RichTextBox1.SelectionFont.Bold = True Then
newFontStyle = FontStyle.Regular
Else
newFontStyle = FontStyle.Bold
End If
RichTextBox1.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, newFontStyle)
End If
End Sub
[/cs]
Markier einen Text, drücke den Button und es müsste fett sein und das solange, bis du den Button nochmal anklickst. Wenn du es jedoch so willst, dass automatisch wieder normal geschrieben werden soll, wenn man Enter drückt, dann benutz das KeyPress-Event und frag Enter ab:
[cs]
'RichTextBox_KeyPress (...) Handles RichTextBox.KeyPress
If e.KeyChar = Chr(13) Then '13 = Enter
If RichTextBox1.SelectionFont.Bold = True Then
Bold()
End If
End If[/cs]
Achja und noch was zu deinem Form_Closing-Event, das hier finde ich kürzer:
[cs]
While Not Me.Opacity = 0
Me.Opacity -= 0.1
Threading.Thread.Sleep(100)
End While
[/cs]
Wegen dem Sleep kann man deine Form nicht mehr bewegen, wenn du das ändern musst, dann führe die While-Schleife in einem Extra-Thread durch.