Hallo Profis, ein Problem hab ich noch, dann komme ich wieder ein großes Stück weiter: Ich hab auf einer Form z.B. 5 Editfelder, welche ich bei Enter wheat färben möchte und bei exit wieder white färben möchte Was ich aber nicht möchte, dass ich das jedes mal für jede Textbox schreiben muss. Ich muss also variabel feststellen, welche Box geEntert wurde. Ich hoffe ich konnts einigermaßen erklären. Bitte Euch (als Neuling) um Hilfe. VG beanbear
Textboxen bei Enter färben
- VB.NET
- .NET (FX) 4.5–4.8
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von beanbear6.
-
-
Dann schreib eine eigene TextBox-Klasse:
Dann packst Du in diese Klasse die beiden EventHandler* für GotFocus und LostFocus und schreibst in die jeweils rein, welche Farbe die TextBox dann haben soll. Dann speichern, kompilieren und dann hast Du in der ToolBox ganz oben Deine eigene TextBox mit den Sondereigenschaften.
* Alternativ kannst Du auch die Methoden OnGotFocus und OnLostFocus überschreiben, darin Deine Änderungen vornehmen und dann am Ende der Methoden noch MyBase.OnGotFocus(e) bzw. MyBase.OnLostFocus(e) schreiben.
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
Hi VaporiZed, leider bin i no net so fit um das umsetzen zu können... Würd mi freuen, wennst ein paar Codesnippsl zeigen könntest... I find auch die Ereignisse GotFocus net, aber z.B. Enter oder OnMouseClick. I würd mi freuen, wennst mir was schreibst. Bin dennoch fest am Lernen
Hi zusammen, hab nun folgendes, aber des macht gar nix... muss ich da noch was zusätzlich einbauen?
Beiträge zusammengefügt. Code-Tags eingefügt. ~ThunderboltDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()
-
Du bist nahe drann.
... oder auch ...
... je nachdem.
bit.ly/DotNetSearch
Code Konverter:
Online: @ developerfusion.com, @ telerik.com
Offline stand alone: Convert .NET, C# to VB Converter
VS Extensions: Convert .NET (Based on .NET 4.5), Language ConvertDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FormFollowsFunction“ ()
-
@beanbear6 Wenn sich alle diese TextBoxen in einem Dialog befinden, musst Du keine eigene TextBox machen, sondern kannst das direkt im Dialog behandeln.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! -
Na, jetzt aber …
Nutze Visual Studio richtig. Beachte im CodeEditor die mittlere ComboBox. Da muss(MyTextBox Ereignisse)
stehen bzw. ausgewählt werden.Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
-
An beanbear6:
Klappt jetzt alles oder gibt es noch Diskrepanzen diesbezüglich? Wenn man etwas eigenes erzeugt, muss das in der Regel auch instanziiert und dem Formular, auf dem es dann angezeigt werden soll, hinzugefügt werden (in der passenden Design-Datei kann man sich abgucken, wie der Designer das eine oder andere tut), bei Vererbung wäre z.B. DeineTextbox dann vom Typ TextBox (Mutterklasse), konstruieren oder bauen würde man sie aber mit der gewünschten Kindklasse, in diesem Fall als TextBoxEx - die Position und Abmessungen sind nur als Beispiel gedacht und wenn man die Textboxen dauerhaft auf einem Formular verwendet, würde ich die Deklaration mit dem Bauen (oder zumindest die Deklaration selbst) außerhalb von allen Subs machen, um einerseits eine Sicherheit für die Lebensdauer der erzeugten Objekte zu haben und andererseits nicht immer wieder Ressourcen für die Putzfrau (GarbageCollector) zu erzeugen:
Das gleichzeitige Erscheinen von Dummheit und Unmündigkeit nach Immanuel Kant ist eines der schlimmsten Dinge, die einem Homo sapiens in geistiger Hinsicht widerfahren können, hat manchmal aber auch durchaus seine Vorteile.Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Gregor Jasinski“ ()
-
Hi zusammen, hm... ich kann das alles noch nicht ganz umsetzen, bin echt Neuling, hab auch immer wieder gegoogled, komm aber nicht ganz zurecht. Ich finde z.B. auch die mittlere Combobox (Screen von VaporiZed) nicht... Wenn es Euch nicht zu blöd wird, wär mir sehr geholfen, wenn ich da ne Anleitung Schritt für Schritt bekommen könnte. Außer es ist/wird Euch zu blöd mit mir, dann bin ich Euch auch nicht böse gelle Es ist ja auch nicht so, dass ich nicht recherchiere und mich reinkniee. Vielleicht macht sich jemand die Mühe, mich anzuleiten...
-
Mit welcher Visual Studio-Version arbeitest Du?Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
Also Anleitung:
- kopiere den Code aus post#3 in eine Datei - nenne die Datei am Besten so wie die Klasse heisst
(tatsächlich denke ich, das hast du schon) - kompiliere deine Solution
- Ziehe eine
TextBoxEx
aus der Toolbox aufs Form - oder besser noch zwei davon.
Möglicherweise aktualisiert dein VisualStudio die Toolbox nicht sofort. Dann einmal schliessen und wieder öffnen. - Starte deine Anwednung und siehe: funzt doch alles!
- kopiere den Code aus post#3 in eine Datei - nenne die Datei am Besten so wie die Klasse heisst
-
Hier der komplette Code aus den Beiträgen oben - alle drei Methoden funktionierten bei Tests, zwei davon sind hier auskommentiert, zum Testen einfach eine andere entkommentieren, die vorherige dann auskommentieren. Die mit MouseEvents funktioniert natürlich anders - wenn man mit der Maus drauf geht und nicht mit dem Focus.
Edit: im Anhang noch ein Screenshot, wo man die TextBoxEx nicht per Code-Deklaration, sondern mit der ToolBox instanziiert (die Zeile mit .Add im Form1_LoadEvent und die darüber kann man sich dann sparen bzw. sollte sie nicht mehr einsetzen, weil das dann vom Designer automatisch gemacht wird)
VB.NET-Quellcode
- Public WithEvents DeineTextBox As TextBox = New TextBoxEx() With {.Location = New Point(25, 25), .Width = 200, .Height = 50}
- 'Public WithEvents DeineTextBox As New TextBoxEx() With {.Location = New Point(25, 25), .Width = 200, .Height = 50}
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.Controls.Add(DeineTextBox)
- End Sub
- '-----TextBoxVererbung Test
- Public Class TextBoxEx : Inherits TextBox
- '(1)
- Private Sub TextBox_Enter(sender As Object, e As EventArgs) Handles Me.Enter
- Me.BackColor = Color.Red
- End Sub
- Private Sub TextBoxEx_Leave(sender As Object, e As EventArgs) Handles Me.Leave
- Me.BackColor = Color.LightGreen
- End Sub
- '(2)
- 'Protected Overrides Sub OnMouseEnter(e As EventArgs)
- 'BackColor = Color.Red
- 'MyBase.OnEnter(e)
- 'End Sub
- 'Protected Overrides Sub OnMouseLeave(e As EventArgs)
- 'BackColor = Color.LightGreen
- 'MyBase.OnLeave(e)
- 'End Sub
- '(3)
- 'Protected Overrides Sub OnGotFocus(e As EventArgs)
- 'BackColor = Color.Red
- 'MyBase.OnEnter(e)
- 'End Sub
- 'Protected Overrides Sub OnLostFocus(e As EventArgs)
- 'BackColor = Color.LightGreen
- 'MyBase.OnLeave(e)
- 'End Sub
- End Class
Das gleichzeitige Erscheinen von Dummheit und Unmündigkeit nach Immanuel Kant ist eines der schlimmsten Dinge, die einem Homo sapiens in geistiger Hinsicht widerfahren können, hat manchmal aber auch durchaus seine Vorteile.Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Gregor Jasinski“ ()
-
Hallo zusammen, also gleich mal herzlichen Dank für die vielen Hilfeposts... Ich werd mir das die nächsten Tage mal geben, das einzubauen und auch zu verstehen. Ich dank Euch allen für die tolle Hilfe!!! Vielen Dank nochmal... Ich melde mich. Viele Grüße beanbear
@VaporiZed: Version guck ich am Montag auf Arbeit nach
-
VaporiZed schrieb:
Mit welcher Visual Studio-Version arbeitest Du?
Ich hab hier:
Microsoft Visual Studio Professional 2019 -
Dann sollten alle Posts relevant und anwendbar sein.Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
-
Benutzer online 1
1 Besucher
-
Ähnliche Themen
-
domipoppe - - Sonstige Problemstellungen
-
6 Benutzer haben hier geschrieben
- beanbear6 (6)
- VaporiZed (4)
- Gregor Jasinski (2)
- ErfinderDesRades (2)
- RodFromGermany (1)
- FormFollowsFunction (1)