Autor Beitrag
JelliesBabe
Hält's aus hier
Beiträge: 7



BeitragVerfasst: So 03.04.16 00:29 
Halli Hallo,

Ich bräuchte mal wieder Hilfe...


Ich brauche eine TextBox, in der nur Zahlen eingetragen werden dürfen. Und keine höhere als 20.000.

Wenn jemand eine Lösung kennt, wäre ein Traum. :D


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (.NET) verschoben am So 03.04.2016 um 00:40
C#
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: So 03.04.16 00:32 
Hey,

ich denke du brauchst keine TextBox, sondern ein NumericUpDown. Ich gehe mal davon aus, dass du WinForms verwendest. In WPF gibts das Control nämlich nicht.

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
JelliesBabe Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: So 03.04.16 00:33 
Mein Problem ist, ich habe genau dieses Ding nicht. Ich schreibe in WPF...
C#
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: So 03.04.16 00:36 
Dann verweise ich auf das ExtendedWpfToolkit. Da gibts so ein Control für WPF.

// Nachtrag
Und falls du wirklich selbst eins implementieren willst, google mal danach. Auf StackOverflow gibt es massig Beispiele.
Ich weiß, dass ich gerade keine überragende Hilfe bin, aber ich bin müde und will ins Bett - wo ich jetzt auch hingehe.

Gute Nacht.

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 03.04.16 00:54 
Hallo,

user profile iconJelliesBabe hat folgendes geschrieben Zum zitierten Posting springen:
Ich schreibe in WPF...
Dann mach das doch demnächst auch in der entsprechenden Sparte ;)

Wenn Du verhindern willst, dass etwas anderes als Ziffern in die Textbox eingegeben werden sollen, kannst Du das im PreviewKeyDown-Event machen, mit folgender Methode (die Du im XAML entsprechend eintragen musst):

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
    private static bool IsNumericKey(Key key)
    {
      switch (key)
      {
        case Key.D0:
        case Key.D1:
        case Key.D2:
        case Key.D3:
        case Key.D4:
        case Key.D5:
        case Key.D6:
        case Key.D7:
        case Key.D8:
        case Key.D9:

        case Key.NumPad0:
        case Key.NumPad1:
        case Key.NumPad2:
        case Key.NumPad3:
        case Key.NumPad4:
        case Key.NumPad5:
        case Key.NumPad6:
        case Key.NumPad7:
        case Key.NumPad8:
        case Key.NumPad9:
          return true;

        default:
          return false;
      }
    }

    private void textBox_PreviewKeyDown(object sender, KeyEventArgs e)
    {
      if (!IsNumericKey(e.Key))
        e.Handled = true;
    }


Das verhindert aber nicht, dass da Zahlen größer 20.000 eingetragen werden. Da muss man allerdings auch vorher wissen, was denn passieren soll, wenn das passiert. Es würde sich eventuell auch anbieten, das erst zu prüfen, wenn der Fokus die Textbox verlässt. Auch eine Rückmeldung an den Nutzer kann sinnvoll sein. Da wären ein paar Informationen von Dir gut, was Du möchstest :)

Viele Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Schafschaf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63
Erhaltene Danke: 2

Windows 10
C# (VS 2015)
BeitragVerfasst: Mo 04.04.16 11:47 
Da musst du dir überhaupt keine Arbeit machen.
Ich empfehle dir hier das UpDownControl von Syncfusion.

help.syncfusion.com/...down/getting-started