vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Best Practice: Infofenster mit scrollbarem Textfeld? 
Autor: Vaubehnet
Datum: 17.09.18 13:59

Hallo zusammen,

ich möcht in meine Anwendung gerne eine Kurzhilfe integrieren. Aktuell ist das (etwas unschön) so geregelt:
1. Die Daten stehen in einer Textdatei.
2. Bei Aufruf des Info-Formulars wird geprüft, ob die Textdatei vorhanden ist. Wenn Ja, Anzeige in Textbox, sonst Fehlermeldung und das Form wird geschlossen.

Probleme:
1. Jeder kann die Textdatei ändern. Gibt es eine bessere Methode, die Info abzulegen (ca. 1 Din à4 Seite) - z.B. in ein Modul, dessen Text dann ausgelesen wird? Hardcoded als Stringverkettung finde ich das etwas aufwändig.
2. Das Textelement soll im Idealfall scrollbar sein, aber logischerweise sollen keine Änderungen machbar sein (auch wenn beim Schließen nichts gespeichert wird, ist das unschön).

Wie setze ich das bestmöglich um?

Danke an Euch alle,

Vaubehnet

---
Verwendete Programmversionen:
Windows 7 64 bit sowie Windows 10 Prof.
Visual Studio 13 Professional
Microsoft Prof. 2010 (= Version 14)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Best Practice: Infofenster mit scrollbarem Textfeld? 
Autor: GPM
Datum: 17.09.18 18:45

1. Die Textdatei den Ressourcen hinzufügen.
2. Eine Form mit TextBox und entsprechenden Einstellung erzeugen
und mit dem Text aus der Ressourcen-Datei füllen.



'Deine TextDatei (hier Test.txt) den Ressourcen hinzufügen:
'Projekt/Eigenschaften/Ressourcen/Ressource hinzufügen/vorhandene Datei 
' hinzufügen
Public Class Form1
    Dim WithEvents Btn As New Button With {.Dock = DockStyle.Bottom, .Text = _
      "Infotext", .Parent = Me}
 
    Private Sub Btn_MouseDown(sender As Object, e As MouseEventArgs) Handles _
      Btn.MouseDown
        Dim frmInfo As New Form2
        frmInfo.Show()
    End Sub
End Class
 
Public Class Form2
    Inherits Form
    Dim Tb As New TextBox With {.Dock = DockStyle.Fill, .Text = _
      My.Resources.Test, .Parent = Me,
                              .ReadOnly = True, .Multiline = True, .ScrollBars _
                              = ScrollBars.Vertical}
    Public Sub New()
        Me.Text = "InfoText"
        Me.WindowState = FormWindowState.Maximized
    End Sub
End Class
 
MfG GPM
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Best Practice: Infofenster mit scrollbarem Textfeld? 
Autor: Vaubehnet
Datum: 18.09.18 07:06

Hallo GPM,

vielen Dank - das hilft mir sehr weiter!

Viele Grüße

V.B. Net

---
So, habe es jetzt ausprobiert und es klappt soweit sehr gut. Allerdings ist der gesamte Text beim Öffnen des Formulars ausgewählt. Nachdem die Verlagerung des Fokus auf ein anderes Element fehlgeschlagen ist, habe ich mit Selection gearbeitet:

'Name meines Textfeldes: txtCredits
txtCredits.SelectionStart = 0
txtCredits.SelectionLength = 0

Geht das auch noch eleganter oder ist das die "übliche Lösung"?

---
Verwendete Programmversionen:
Windows 7 64 bit sowie Windows 10 Prof.
Visual Studio 13 Professional
Microsoft Prof. 2010 (= Version 14)

Beitrag wurde zuletzt am 18.09.18 um 07:33:52 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Best Practice: Infofenster mit scrollbarem Textfeld? 
Autor: Kuno60
Datum: 18.09.18 17:14

Zitat:

Allerdings ist der gesamte Text beim Öffnen des Formulars ausgewählt.

Du kannst auch bei der TextBox die Eigenschaft TabStop auf False setzen, dann wird das Steuerelement beim Öffnen der Form nicht Selektiert.
Oder wenn du mehrere Steuerelemente auf der Form hast, kannst du auch den TabIndex-Wert erhöhen. (Im Designer auch mit: Aktivierreihenfolge)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Best Practice: Infofenster mit scrollbarem Textfeld? 
Autor: Vaubehnet
Datum: 19.09.18 06:47

Hallo Kuno,

danke - ich habe es gerade probiert: TabStop - False funktioniert sehr gut und ist eleganter als meine Selection-Methode.

Beste Grüße

V.B. Net

---
Verwendete Programmversionen:
Windows 7 64 bit sowie Windows 10 Prof.
Visual Studio 13 Professional
Microsoft Prof. 2010 (= Version 14)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel