I have a small program which accepts an integer and converts it to DateTime
. However, I try to use KeyCode
to only allow numbers from both keyboard and numpad, and eliminate the special characters and letters. My code is allowing Shift+Num to enter those special characters. How do eliminate them from being entered?
$FromDateText.Add_KeyDown({KeyDown})
$ToDateText.Add_KeyDown({KeyDown}) #TextBox
Function KeyDown()
{
if ($FromDateText.Focused -eq $true -or $ToDateText.Focused -eq $true)
{
if ($_.KeyCode -gt 47 -And $_.KeyCode -lt 58 -or $_.KeyCode -gt 95 -and
$_.KeyCode -lt 106 -or $_.KeyCode -eq 8)
{
$_.SuppressKeyPress = $false
}
else
{
$_.SuppressKeyPress = $true
}
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…