[C#] Controle textbox

Pagina: 1
Acties:

  • nicemister
  • Registratie: Januari 2002
  • Laatst online: 19-05-2023

nicemister

Just b Nice

Topicstarter
Hi,

hoe kan ik ervoor zorgen dat er in een textbox bijvoorbeeld alleen getallen mogen staan, of dat er alleen letters in moeten voorkomen? Dus zodra er iets verkeerds wordt ingegeven, moet er een message verschijnen.

Sunny day


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 21:12

gorgi_19

Kruimeltjes zijn weer op :9

Met de customvalidator in de System.Web.UI.CustomValidator namespace kan je een textbox combineren met een Regular Expression.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • alley
  • Registratie: Mei 2002
  • Laatst online: 18-08 20:40

alley

ahuh

Ja, of meteen de RegularExpressionValidator gebruiken kan natuurlijk ook ;)

I am always doing that which I can not do, in order that I may learn how to do it. (Pablo Picasso)


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Je bent even vergeten te vermelden dat je WinForms gebruikt ;)

Pak de KeyPress event om te checken welke toets er is ingedrukt.

code:
1
2
3
4
5
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
    MessageBox.Show (e.KeyChar.ToString());
    e.Handled = true;
}


e.KeyChar bevat de ingedrukte toets. Met e.Handled geef je aan dat de ingedrukte toets 'afgehandeld' is, hij verschijnt dan niet in de textbox.

Je kan eventueel je Char omtoveren naar int zodat je kan klooien met ASCII ranges.

Success

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
stylee schreef op 20 oktober 2002 @ 11:49:
Je bent even vergeten te vermelden dat je WinForms gebruikt ;)

Pak de KeyPress event om te checken welke toets er is ingedrukt.

code:
1
2
3
4
5
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
    MessageBox.Show (e.KeyChar.ToString());
    e.Handled = true;
}


e.KeyChar bevat de ingedrukte toets. Met e.Handled geef je aan dat de ingedrukte toets 'afgehandeld' is, hij verschijnt dan niet in de textbox.

Je kan eventueel je Char omtoveren naar int zodat je kan klooien met ASCII ranges.

Success
Het lijkt me dan mooier om even een subclass NumeralTextBox te maken en dan de OnKeyPressed methode te overriden

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • nicemister
  • Registratie: Januari 2002
  • Laatst online: 19-05-2023

nicemister

Just b Nice

Topicstarter
Dank je, nou heb ik nog een vraaag :)

Ik heb gemerkt dat het alle toetsen laat zien BEHALVE de F1, F2, F3 enz. Hoe kan ik dat nagaan?

Sunny day


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:40
nicemister schreef op 06 januari 2003 @ 22:19:
Dank je, nou heb ik nog een vraaag :)

Ik heb gemerkt dat het alle toetsen laat zien BEHALVE de F1, F2, F3 enz. Hoe kan ik dat nagaan?


FF zoeken in de .NET help leert dat je mbhv de Keys enumerator het volgende kunt doen:
code:
1
2
3
4
5
6
7
private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
  if( e.KeyCode == Keys.F1)
  {
     MessageBox.Show ("F1 pressed");
  }
}

https://fgheysels.github.io/

Pagina: 1