在Textbox的輸入中﹐我們常常需要控制輸入的類型﹐比如說只能輸入數字﹐當然實現的方法很多﹐我總結了一下我做過的一些項目﹐我常會使用以下這三種﹕
1﹑使用Try...Catch
3﹑判斷輸入的keyCode
1﹑使用Try...Catch
private static bool IsNumeric(string itemValue,int intFLag)
{
try
{
int i = Convert.ToInt32(itemValue);
return true;
}
catch
{
return false;
}
}
2﹑使用正則表達式{
try
{
int i = Convert.ToInt32(itemValue);
return true;
}
catch
{
return false;
}
}
using System.Text.RegularExpressions;
private static bool IsNumeric(string itemValue)
{
return (IsRegEx("^(-?[0-9]*[.]*[0-9]{0,3})$", itemValue));
}
private static bool IsRegEx(string regExValue, string itemValue)
{
try
{
Regex regex = new System.Text.RegularExpressions.Regex(regExValue);
if (regex.IsMatch(itemValue)) return true;
else return false;
}
catch (Exception )
{
return false;
}
finally
{
}
}
private static bool IsNumeric(string itemValue)
{
return (IsRegEx("^(-?[0-9]*[.]*[0-9]{0,3})$", itemValue));
}
private static bool IsRegEx(string regExValue, string itemValue)
{
try
{
Regex regex = new System.Text.RegularExpressions.Regex(regExValue);
if (regex.IsMatch(itemValue)) return true;
else return false;
}
catch (Exception )
{
return false;
}
finally
{
}
}
3﹑判斷輸入的keyCode
public static bool IsNumeric(System.Windows.Forms.KeyPressEventArgs e)
{
if ((e.KeyChar >= (char)48 && e.KeyChar<=(char)57) ||
e.KeyChar ==(char)8 || e.KeyChar ==(char)45 || e.KeyChar ==(char)47)
{
}
else
{
e.Handled=true;
}
return true;
}
{
if ((e.KeyChar >= (char)48 && e.KeyChar<=(char)57) ||
e.KeyChar ==(char)8 || e.KeyChar ==(char)45 || e.KeyChar ==(char)47)
{
}
else
{
e.Handled=true;
}
return true;
}