Wenn der Benutzer in meine NumericUpDown
Registerkarten möchte ich alle Texte ausgewählt werden. Ist das möglich?Wie wird der gesamte Text in Winforms NumericUpDown beim Tab in?
Antwort
private void NumericUpDown1_Enter(object sender, EventArgs e)
{
NumericUpDown1.Select(0, NumericUpDown1.Text.Length);
}
(Beachten Sie, dass die Eigenschaft Text in Intellisense versteckt ist, aber es ist da)
ich eine Erweiterungsmethode erstellt, dies zu erreichen:
VB:
<Extension()>
Public Sub SelectAll(myNumericUpDown As NumericUpDown)
myNumericUpDown.Select(0, myNumericUpDown.Text.Length)
End Sub
C#:
public static void SelectAll(this NumericUpDown numericUpDown)
numericUpDown.Select(0, myNumericUpDown.Text.Length)
End Sub
Versuchen
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length);
Kannst du irgendeine Erklärung hinzufügen, warum es funktioniert, was die verschiedenen Teile davon tun? –
Dies wird fehlschlagen, wenn Sie eine Dezimalstelle haben und der Wert ohne Bruch (Bsp .: 99,00) der Wert wird 99 sein, so dass die Länge des Wertes wird 2 – Ahmed
Ich war auf der Suche um hatte ich das gleiche Problem und das funktioniert für mich, zuerst das Element anwählen und die zweite wählt den Text, hoffen, dass es in Zukunft hilft
myNumericUpDown.Select();
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length);
Dies ist, was ich in Betracht gezogen habe, bevor ich das NumericUpDown.Text erkannte existiert, Sie werden IntelliSense nur nicht bekommen, um es Ihnen zu zeigen, Sie können es sogar versuchen, Sie zu TextAlign zu vervollständigen. "Der Text hat keine Auswirkungen auf die Darstellung des NumericUpDown-Steuerelements; daher ist es im Designer und in IntelliSense verborgen." -Microsoft Ich habe auch die Eingabe von Werten mit der .Text-Schnittstelle getestet, weil Autismus funktioniert und wie erwartet funktioniert, wobei Ausnahmen für nicht-numerische Werte ausgelöst werden und die eingegebenen Werte durch Max- und Min-Werte ersetzt werden, wenn Sie sie überschreiten. – user2163234
Ich wollte um dies für zukünftige Personen hinzuzufügen, die nach Tab und Click gesucht haben.
Jon B Antwort arbeitet für Tab perfekt, aber ich brauchte zu gehören zu ändern, um
klickenwählt unter den Text, wenn Sie mit der Tabulatortaste oder klicken Sie in. Wenn Sie auf und geben Sie die Box, dann wird es den Text auswählen . Wenn Sie sich bereits auf die Box konzentrieren, wird der Klick tun, was er normalerweise tut.
bool selectByMouse = false;
private void quickBoxs_Enter(object sender, EventArgs e)
{
NumericUpDown curBox = sender as NumericUpDown;
curBox.Select();
curBox.Select(0, curBox.Text.Length);
if (MouseButtons == MouseButtons.Left)
{
selectByMouse = true;
}
}
private void quickBoxs_MouseDown(object sender, MouseEventArgs e)
{
NumericUpDown curBox = sender as NumericUpDown;
if (selectByMouse)
{
curBox.Select(0, curBox.Text.Length);
selectByMouse = false;
}
}
Sie können dies für mehrere numerischeUpDown-Steuerelemente verwenden. Nur müssen die Enter und MouseDown Events
Ich hatte mehrere numerische updown Box und wollte dies für alle erreichen. Ich erstellt:
private void num_Enter(object sender, EventArgs e)
{
NumericUpDown box = sender as NumericUpDown;
box.Select();
box.Select(0, num_Shortage.Value.ToString().Length);
}
Dann wird durch diese Funktion mit der für jedes Feld eingeben Ereignis zuordnet (was ich nicht getan habe), war mein Ziel erreicht. Nahm mich eine Weile, um herauszufinden, wie ich ein Anfänger bin. Hoffe, das hilft jemand anderen aus
Dies ist effektiv ein Duplikat der angenommenen Antwort –
@AidanRyan Eigentlich, da diese Antwort "Absender" anstelle eines festen Objekts Ziel verwendet, ist es wohl besser als die angenommene Antwort. – bartonjs
Dies beantwortet die ursprüngliche Frage plus eine Frage, die nicht gestellt wurde. Die Behandlung eines gemeinsamen Ereignisses über Steuerelemente hinweg ist ein anderes Problem, unabhängig davon, ob Sie den gesamten Text auswählen oder etwas anderes, was Sie sonst noch mit dem Ereignis tun möchten. Wirklich, es fügt nur Lärm hinzu. –
- 1. Wie kann ich die Werte der NumericUpDown- und TrackBar-Steuerelemente in WinForms synchronisieren?
- 2. Wie universelle Zeitzone für die gesamte Anwendung in Winforms
- 3. Wie Capture TAB-Taste in WinForms-Anwendung abfangen?
- 4. WinForms: NumericUpDown (.NET CF 3.5) und reelle Zahlen
- 5. Wie vergrößert man Tab-Text in TabLayout?
- 6. Wie style ActionBar Tab Text in Android?
- 7. Disable TAB zur Steuerung des Zugriffs in WinForms
- 8. WPF/XAML: Wie wird der gesamte Text in TextBlock groß geschrieben?
- 9. Wie wird der gesamte Text in einem JFormattedTextField ausgewählt, wenn er den Fokus erhält?
- 10. Wie wird der gesamte Text zwischen den äußeren Klammern in einer Zeichenfolge entfernt?
- 11. Wie wird der gesamte Stream in MemoryStream geladen?
- 12. Wie wird der gesamte Memoize-Cache in lodash gelöscht?
- 13. Bessere Text-Rendering-Qualität in C# winforms
- 14. Wird der gesamte ClaimedIdentifier gespeichert?
- 15. Wie wird der Tab-Text bei Doppelklick in JavaFX 2 umbenannt?
- 16. TextChanged Ereignis von NumericUpDown
- 17. Wie finde ich heraus, welchen Tab ich in winforms tabcontrol mit der rechten Maustaste klicke?
- 18. Tabs während der Strg-Tab in Sublime Text anzeigen?
- 19. TextView erscheint nicht der gesamte Text
- 20. Ändern der Farbe von Text in einem WinForms RichTextBox
- 21. WinForms: Binding-Funktionalität ist beim Überschreiben von GetHashCode in der Basisklasse
- 22. Backspace Tab in Sublime Text 2
- 23. Wie wird ein leerer Wert im NumericUpDown-Steuerelement angezeigt?
- 24. Tab-Reihenfolge wird aktualisiert
- 25. Android mit NumericUpDown Button?
- 26. Formular wird nicht in neuem Tab geöffnet
- 27. Wie wird der gesamte Verlauf der Rails-Konsole angezeigt?
- 28. C# WinForms Etikett wird angezeigt, aber nicht Text angezeigt
- 29. Wie kann ich beim Einfügen in KendoUI Editor die gesamte HTML-Formatierung aus dem Text entfernen?
- 30. wie Tab-Reihenfolge in jquery
@Jon: Darn intellisense: -/Gute Anruf mit der Text-Eigenschaft. –
Ich habe gerade versucht, dies während der Formularkonstruktion zu tun (Fokus auf ein bestimmtes NumericUpDown setzen und seinen gesamten Text auswählen). Ich musste 'Select()' UND 'Select (0, NumericUpDown1.Text.Length);' aufrufen, wobei der erste den Fokus und der zweite den Text auswählte. Also, eine Notiz für alle anderen, die hierher kommen und nach einer Möglichkeit suchen, das zu tun, was ich getan habe: Du musst beide Aufrufe machen, um das gewünschte Ergebnis zu erhalten, obwohl beide dasselbe benannt sind (ich habe den Anruf immer erwartet) zu 'Select (start, length)', um auch den Fokus wie 'Select()' did) –
"Wenn Sie das Steuerelement mit der Tab-Taste fokussieren, wird dieser Code gut, aber wenn Sie es mit einem Klick fokussieren, obwohl es Durchläuft die Methode, wird den Text nicht auswählen. Ich schätze, dass dieser Code vor einem internen Framework-Code aufgerufen wird, der den Cursor auf die Auswahl setzt. Um dies zu umgehen, können Sie denselben Code in den Click-Event-Handler einfügen. " 'n0n4m3' http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/28354bc2-3903-4be4-9c2c-3249319b59fd – PUG