RTB Fullscreen

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    RTB Fullscreen

    Hallo Leute,
    wie kann ich die Richtextbox in meiner Form durch einen Button auf die volle Größe der Form bringen und wieder zurück durch Button oder Klick.
    Geht um bessere Lesbarkeit des Textes
    Die RTB nimmt jetzt circa ein Viertel der Größe der Form ein und soll über alles drüber den ganzen Platz einnehmen, und evtl. noch die Schriftgrösse erhöhen

    Danke für Hilfe
    Button-Click abbonnieren, darin die Size-Property der RTB setzen. Wann du vergrößerst und wann verkleinerst hältst du in einer Flag fest, oder abhängig von der bestehenden Size.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais

    estrichbeton schrieb:

    wie kann ich die Richtextbox in meiner Form durch einen Button auf die volle Größe der Form bringen und wieder zurück
    Zuerst merkst du dir die .Location-Eigenschaft und die .Size-Eigenschaft deiner RTB.
    Dann setzt du die .Location-Eigenschaft auf die linke obere Ecke deiner Form. (= New Point(0, 0))
    Als Nächstes übernimmst du die .Size-Eigenschaft deiner Form für die .Size-Eigenschaft der RTB.
    Die RTB musst du aber im Vordergrund halten.
    Einen Nachteil hat das Ganze Vorgehen - du wirst auch deinen Bedienbutton mit der RTB überdecken...
    Da wäre vielleicht ein ContextMenü der RTB vorzuziehen.
    Wenn wieder Retour die gemerkten Eigenschaften anwenden...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VB1963“ ()

    estrichbeton schrieb:

    bessere Lesbarkeit des Textes
    da müsstest Du die Fontgröße ändern, das ist aber, sofern der RichText in sich verschieden formatiert ist, nicht trivial.
    Also:
    Form mit 2 Button, 2 Panels und einer RTB.
    Panel2 füllt die Form aus, Panel1 ist Member von Panel2 und ist klein.
    Panel2 bekommt die RTB mit Dock = Fill.
    Nun wird mit dem Button nur noch die RTB zwischen den Panels hin- und her geschoben. Das mit Visible = True / False ist nötig, da sonst das Panel vor der RTB liegen würde:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Panel1.Visible = True
    3. Panel1.Controls.Add(Me.RichTextBox1)
    4. End Sub
    5. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    6. Panel2.Controls.Add(Me.RichTextBox1)
    7. Panel1.Visible = False
    8. End Sub
    Form1.Designer.vb

    VB.NET-Quellcode

    1. <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
    2. Partial Class Form1
    3. Inherits System.Windows.Forms.Form
    4. 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
    5. <System.Diagnostics.DebuggerNonUserCode()> _
    6. Protected Overrides Sub Dispose(ByVal disposing As Boolean)
    7. Try
    8. If disposing AndAlso components IsNot Nothing Then
    9. components.Dispose()
    10. End If
    11. Finally
    12. MyBase.Dispose(disposing)
    13. End Try
    14. End Sub
    15. 'Wird vom Windows Form-Designer benötigt.
    16. Private components As System.ComponentModel.IContainer
    17. 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
    18. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
    19. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
    20. <System.Diagnostics.DebuggerStepThrough()> _
    21. Private Sub InitializeComponent()
    22. Me.Button1 = New System.Windows.Forms.Button()
    23. Me.Panel1 = New System.Windows.Forms.Panel()
    24. Me.Panel2 = New System.Windows.Forms.Panel()
    25. Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()
    26. Me.Button2 = New System.Windows.Forms.Button()
    27. Me.Panel1.SuspendLayout()
    28. Me.Panel2.SuspendLayout()
    29. Me.SuspendLayout()
    30. '
    31. 'Button1
    32. '
    33. Me.Button1.Location = New System.Drawing.Point(13, 13)
    34. Me.Button1.Name = "Button1"
    35. Me.Button1.Size = New System.Drawing.Size(75, 23)
    36. Me.Button1.TabIndex = 0
    37. Me.Button1.Text = "Button1"
    38. Me.Button1.UseVisualStyleBackColor = True
    39. '
    40. 'Panel1
    41. '
    42. Me.Panel1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer))
    43. Me.Panel1.Controls.Add(Me.RichTextBox1)
    44. Me.Panel1.Location = New System.Drawing.Point(3, 3)
    45. Me.Panel1.Name = "Panel1"
    46. Me.Panel1.Size = New System.Drawing.Size(218, 178)
    47. Me.Panel1.TabIndex = 1
    48. '
    49. 'Panel2
    50. '
    51. Me.Panel2.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
    52. Or System.Windows.Forms.AnchorStyles.Left) _
    53. Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
    54. Me.Panel2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(192, Byte), Integer))
    55. Me.Panel2.Controls.Add(Me.Panel1)
    56. Me.Panel2.Location = New System.Drawing.Point(13, 42)
    57. Me.Panel2.Name = "Panel2"
    58. Me.Panel2.Size = New System.Drawing.Size(694, 370)
    59. Me.Panel2.TabIndex = 0
    60. '
    61. 'RichTextBox1
    62. '
    63. Me.RichTextBox1.Dock = System.Windows.Forms.DockStyle.Fill
    64. Me.RichTextBox1.Location = New System.Drawing.Point(0, 0)
    65. Me.RichTextBox1.Name = "RichTextBox1"
    66. Me.RichTextBox1.Size = New System.Drawing.Size(218, 178)
    67. Me.RichTextBox1.TabIndex = 0
    68. Me.RichTextBox1.Text = ""
    69. '
    70. 'Button2
    71. '
    72. Me.Button2.Location = New System.Drawing.Point(94, 12)
    73. Me.Button2.Name = "Button2"
    74. Me.Button2.Size = New System.Drawing.Size(75, 23)
    75. Me.Button2.TabIndex = 1
    76. Me.Button2.Text = "Button2"
    77. Me.Button2.UseVisualStyleBackColor = True
    78. '
    79. 'Form1
    80. '
    81. Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
    82. Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
    83. Me.ClientSize = New System.Drawing.Size(719, 424)
    84. Me.Controls.Add(Me.Button2)
    85. Me.Controls.Add(Me.Panel2)
    86. Me.Controls.Add(Me.Button1)
    87. Me.Name = "Form1"
    88. Me.Text = "Form1"
    89. Me.Panel1.ResumeLayout(False)
    90. Me.Panel2.ResumeLayout(False)
    91. Me.ResumeLayout(False)
    92. End Sub
    93. Friend WithEvents Button1 As System.Windows.Forms.Button
    94. Friend WithEvents Panel1 As System.Windows.Forms.Panel
    95. Friend WithEvents RichTextBox1 As System.Windows.Forms.RichTextBox
    96. Friend WithEvents Panel2 As System.Windows.Forms.Panel
    97. Friend WithEvents Button2 As System.Windows.Forms.Button
    98. End Class

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habe es jetzt gelöst mit einem Button für "Vollbild" und Doppelclick für ursprüngliche Größe.

    Danke für Eure Hilfe

    VB.NET-Quellcode

    1. Private Sub Button64_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button64.Click
    2. ' Original Position 19,41 Size 641,406
    3. RichTextBox1.Location = (New Point(0, 0))
    4. RichTextBox1.Size = (New Size(1266, 849))
    5. RichTextBox1.BringToFront()
    6. End Sub
    7. Private Sub RichTextBox1_MouseDown(ByVal sender As Object, _
    8. ByVal e As System.Windows.Forms.MouseEventArgs) Handles RichTextBox1.MouseDoubleClick
    9. RichTextBox1.Location = (New Point(19, 41))
    10. RichTextBox1.Size = (New Size(641, 406))
    11. End Sub

    estrichbeton schrieb:

    ursprüngliche Größe
    Wo kommt die denn in Deinem Snippet her?
    Was passiert, wenn Du Deine Form in ihrer Größe veränderst?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    estrichbeton schrieb:

    ursprüngliche Größe
    Wo kommt die denn in Deinem Snippet her?
    Was passiert, wenn Du Deine Form in ihrer Größe veränderst?


    Die Größe der Form wird nicht verändert.
    Sollte die Anwendung irgendwann man laufen wird sie auf Geräten mit festen Werten instaliert.

    ....aber ich verstehe das Problem und werde das mal ausprobieren.
    Vielen Dank

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „estrichbeton“ ()

    estrichbeton schrieb:

    wird nicht verändert
    Solche Aussagen sind einfach nicht richtig. :D
    Wenn Du Dich gleich bemühst, so was variabel zu machen, ersparst Du Dir viel Nacharbeit.
    Du kannst die Form im Designer in ihrer Größe verändern, da siehst Du z.B. sofort, wenn ein Control die falsche Anchor-Property hat.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!