c# textBox mit trackBar linken?
hallo ich möchte das der wert den man in der text box eingibt in die trackbar kommt und umgekehrt
2 Antworten
Hänge bei beiden Komponenten (TextBox und TrackBar) jeweils einen Event Handler für das TextChanged-Event an.
yourTrackBar.TextChanged += (sender, args) =>
{
yourTextBox.Text = yourTrackBar.Text;
};
yourTextBox.TextChanged += (sender, args) =>
{
yourTrackBar.Text = yourTextBox.Text;
};
Interessante Idee, allerdings sagt die Dokumentation (https://docs.microsoft.com/de-de/dotnet/api/system.windows.forms.trackbar.text?view=net-5.0) dazu:
Diese Eigenschaft ist für diese Klasse nicht relevant.
Sinnvoller wäre es da, im ValueChanged-Handler für die TrackBar die Text-Eigenschaft der TextBox auf yourTrackBar.Value.ToString() zu setzen und im TextChanged-Event der TextBox die Value-Eigenschaft der TrackBar mittels int.TryParse und etwas Drumherumcode entsprechend zu setzen.
Ausserdem wäre ein bool-Flag ausserhalb der Handler ganz sinnvoll, sonst landest du ganz schnell im Endlos-PingPong der beiden Events.
Dann musst du jeweils Events setzen. Bei der Texbox wäre es das TextChanged Event. Das wird ausgeführt, wenn man in der Textbox was ändert und bei Trackbar must du schauen, welches Event dort richtig ist, habe die noch nie benutzt. Ich denke mal dass du Windows Forms benutzt? Wenn ja, dann kannst du bei den Eigenschaften auf den Blitz gehen, dort findest du alle Events
Am Ende kannst du dann die trackbar value beim trackbar event in textbox.text tun und umgekehrt
geht bei mir nicht gibt meldung:
Fehler CS0029 Der Typ "string" kann nicht implizit in "int" konvertiert werden.