vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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
Re: TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 25.03.10 16:12

Eine TextBox verfügt nicht über die Funktionalität einzelne Stellen des Textes hervorzuheben. Ansonsten sollte lediglich der Hintergrund eines bestimmten Teil des Textes geändert werden. Selbst wenn der Text andersfarbig wäre würde es nicht die Markierung mittels Maus verhindern.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 24.03.10 20:26

Hallo,

ist es möglich die Textmarkierung innerhalb einer TextBox zu verhindern? Bei mir soll nur bestimmter Text per Code markiert werden. Ist dieser markiert, dann soll durch ein Mausklick + Bewegen der Maus kein anderer Text markiert werden (die per Code gesetzte Markierung soll erhalten bleiben). Ist sowas möglich? Lediglich Strg+A soll ermöglicht werden (bzw. über das Kontextmenü).
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: Manfred X
Datum: 24.03.10 21:50

Hallo!

Unverbindlicher Hinweis:

Im RichTextBox-Control gibt es das SelectionChanged-Ereignis.
Wird es ausgelöst, kann man die ursprüngliche Auswahl durch
Zurücksetzen von Selectionstart/Selectionlength in der
Ereignisroutine wieder herstellen.
Interessant könnte auch die SelectionProtected-Eigenschaft
dieses Controls und das zugehörige Ereignis (Protected) sein.
(Ich habe allerdings bisher nichts damit gemacht.)

MfG
Manfred

Beitrag wurde zuletzt am 24.03.10 um 21:54:52 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 25.03.10 05:22

Das habe ich auch festgestellt. Zur Ernüchterung leider auch, dass es diese Ereignisse bei der TextBox nicht gibt. Aber genau dieses Control brauche ich; die RTB ist ungeeignet.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: VB.NET2005
Datum: 25.03.10 15:52

Kannst du in einem Timer nicht diesen Code schreiben:
If TextBox1.SelectionLength > 0 _
Then
TextBox1.Select(0, 0) 'Hier deine gewünschten Werte
End If


Beitrag wurde zuletzt am 25.03.10 um 15:53:10 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 25.03.10 16:08

An sich möglich, aber der Teil, der per Code markiert wird wird erst berechnet. Da ich das Interval relativ niedrig setzen müsste um ständiges flackern des Markieren und Demarkieren zu verhindern wird die Funktion zum berechnen des zu markierenden Teils zu oft aufgerufen. Dadurch flackert der gesamte Text in der TextBox.

Das sieht insgesamt ziemlich unschön aus. Gibt es da nichts per API oder dergleichen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: VB.NET2005
Datum: 25.03.10 16:10

Muss es denn unbedingt eine Markierung sein? Geht roter Text etc. nicht?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: VB.NET2005
Datum: 25.03.10 16:16

Du könntest aufpassen, dass die Maus der Textbox nicht zu nahe kommt und den Mauszeiger dann umsetzen. Zum navigieren kannst du ja Buttons verwenden.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: ModeratorDaveS (Moderator)
Datum: 25.03.10 16:20

Ja, oder vielleicht die TextBox einfach unsichtbar machen, dann kann man gar nichts finden...

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 25.03.10 16:24

Das finde ich für den Anwender unzumutbar. Ich fürchte, der wird Panik bekommen, wenn die Maus einfach nicht auf das Steuerelement geht. Das Steuerelement sollte wenigstens mit der Tastatur bedienbar sein.
Scheinbar gibt es keine passenden Möglichkeiten, also habe ich es so gemacht, dass man zwar Text markieren kann, aber sobald die Maus losgelassen wird nur den entsprechenden Teil wieder zu markieren.+

Also ähnlich deiner Idee mit dem Timer. Das sieht dann so aus:
   Protected Overrides Sub OnMouseUp(ByVal mevent As _
     System.Windows.Forms.MouseEventArgs)
      Dim selStart As Integer = GetFirstIndexOfPart()
      Dim selLength As Integer = GetLengthOfPart()
 
      If Me.SelectionStart <> selStart Then Me.SelectionStart = selStart
      If Me.SelectionLength <> selLength Then Me.SelectionLength = selLength
 
      MyBase.OnMouseUp(mevent)
   End Sub
Das ist dann vielleicht auch für den Anwender noch zu fassen. Spätestens, wenn man es in der Hilfe schreibt, wieso und warum.
Vielen Dank aber, dass ihr euch Gedanken gemacht habt.

Beitrag wurde zuletzt am 25.03.10 um 16:24:33 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: Snoopy
Datum: 25.03.10 16:42

Was ist denn eigentlich der Grund dafür, dass der Anwender den Text nicht mit der Maus markieren darf?

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: Manfred X
Datum: 25.03.10 17:00

Hallo!

Statt "Markieren" wäre es ja vielleicht möglich,
den relevanten Text-Abschnitt durch Großschreibung
und das temporäre Einfügen einer Umrandung
(durch Zeichen) hervorzuheben.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 25.03.10 17:03

In der TextBox stehen verschiedene Werte, die der Anwender über die Tastatur verändern kann. Dabei würde es zu Unklarheiten führen, wenn beispielsweise 2 Werte markiert sind und dann Eingaben über die Tastatur erfolgen. Um das zu vermeiden sollen nur die entsprechenden Werte markiert werden dürfen oder eben der gesamte Text mittels Strg+A bzw. Kontextmenü.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 25.03.10 17:05

Das wäre auch eine schöne Idee, würde etwas mehr gestalterische Möglichkeiten schaffen. Bleibt dennoch das Problem zum verhindern des Markieren des Textes. Es würde dabei einfach einen unklaren Eindruck für den Anwender schaffen (denke ich).
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: Manfred X
Datum: 25.03.10 17:15

Hallo!

Das hört sich für mich nach einer Liste an,
nicht nach einem Text: Werte markieren und ändern.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 25.03.10 17:17

Es soll aber keine Liste werden. Es ist einfach ein Text mit syntaktisch und logisch zueinander gehörenden Werten. Sowohl Text als auch Zahlen, die eben geändert werden sollen/können.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: Manfred X
Datum: 25.03.10 17:20

Ein Beispiel wäre schön ....
(Ich verstehe immer weniger, was Du machst.)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 25.03.10 17:31

Ein Beispiel, hm. Beispielsweise kann man bei einem Messgerät X und Y-Werte als Auslenkung eintragen. Dazu eine Beschreibung für die auszudruckenden Werte. Diese müssen in einem bestimmten Format vorliegen. Etwa: (10; 20) - Beschreibung

Dabei soll es möglich sein die 10 zu markieren, die 20 zu markieren oder "Beschreibung" zu markieren (durch einen Klick in den Text wird automatisch der entsprechende Bereich markiert). Durch Tastatureingaben ist eine Änderung möglich. Klar, man könnte dafür eine MaskedTextBox etc. verwenden, aber dann kann man nur eine begrenzte Anzahl Zeichen zulassen bei den Ziffern. Es kann auch sein, dass ein Komma bei den Zahlen vorkommt. Oder ein Minus. Oder die Beschreibung ist etwas länger, oder kürzer. Die MaskedTextBox stellt diese Funktionen nicht bereit. Die Markierung der entsprechenden Stelle etc. ist dabei gewohnt.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: Manfred X
Datum: 25.03.10 17:40

Gibt es einen Grund, weshalb das innerhalb des
Textbox-Controls passieren muss?

Du könntest bei einem Mausclick die
entsprechenden Angaben in ein Dialogformular
eintragen, dass gezielt abfragt, z.B. bei
einem Click auf die erste Zahl:


zugehörige Beschreibung
Aktuell eingetragene x-Auslenkung
Neuer Wert (Bereich Min <-> Max)?


Der vom Benutzer eingegebene Wert kann
dann per Code in die Textbox an der
angeclickten Position übernommen werden.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 25.03.10 17:46

Zitat:

Gibt es einen Grund, weshalb das innerhalb des Textbox-Controls passieren muss?

Naja, vermutlich, weil es schon so vom Anwender gewohnt ist. Sonst würde ich ja diesen Aufriss nicht machen. Es ist nun einmal so gefordert. Damit erklärt sich eigentlich der Rest.

Bisher waren andere Lösungsversuche, wie z.B. UserControl mit mehreren TextBoxen auch nicht das Wahre.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: Manfred X
Datum: 25.03.10 17:57

Ich meine, mich zu erinnern, dass man die
Maus vorübergehend disabeln kann, (will
aber keine falschen Gerüchte verbreiten.)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: TextBox - Markierung von Text per Maus verhindern 
Autor: keco
Datum: 25.03.10 18:06

Aber wann sollte ich die Maus wieder deaktivieren (falls möglich)? Wäre auch keine praktikable Lösung. Ich denke ich werde es wohl so lassen, wie ich es jetzt habe. Danke für die Hilfe.
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