创建类以检查文本框是否为空等
问题描述:
我需要关于如何制作和使用一个类来检查多个文本框中的多个事物。创建类以检查文本框是否为空等
现在我的问题是,我有大约50个文本框,我已经添加了我需要的代码给他们中的每一个。 我已经向某人展示了我的代码,并且他告诉我可以创建一个类,例如“验证”,并且只需为每个需要的验证添加一个方法,并简单地使用class.methodname而不是每行代码单个文本框
现在我的问题是: - 我如何从头创建这样一个类? - 我如何在我的代码中实际使用这个类? - 如何添加一个方法来检查文本框是否为空? - 如何添加一种方法来检查文本框是否只包含字母/数字和空格,即使文本被粘贴到文本框中? - 如何添加一个方法来检查文件夹是否已经存在?
代码,我已经目前加入到每个需要这些验证文本框如下:
检查文本框为空或不
if (txtName.Text.Trim().Length == 0)
{
MessageBox.Show("Please enter a name!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
检查文本包含字母数字字符,不用于粘贴的文本工作,虽然
private void txtName_KeyDown(object sender, KeyEventArgs e)
{
if ((e.Key < Key.A) || (e.Key > Key.Z))
e.Handled = true;
}
而且最后检查,如果一个文件夹已经存在
string folderName = "";
bool exists= false;
folderName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), txtName.text);
exists= System.IO.Directory.Exists(folderName);
if (exists)
{
MessageBox.Show("This name is already in use", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
System.IO.Directory.CreateDirectory(folderName);
}
感谢您的帮助提前!
答
,而不是继承自TextBox
MyTextBox
类,并使用this
指在你的代码CurrentTextBox
使用此MyTextBox
在任何你想
class MyTextBox : TextBox
{
public bool IsMyTextBoxEmpty()
{
if (!string.IsNullOrEmpty(this.Text.Trim()))
{
return true;
}
return false;
}
public bool IsContainsValideSpaces()
{
//...........Your Logic is Here
return false;
}
public bool IsCopied()
{
//...........Your Logic is Here
return false;
}
}
听起来像一个伟大的** **适合[扩展方法](http://msdn.microsoft.com/en-us/library/vstudio/bb383977(v = vs.110)的.aspx)。 – Tim 2014-11-23 18:51:05
你是否需要对每个文本框进行相同的验证,如**是否为空**或**包含字母/数字和空格**等? – Shaharyar 2014-11-23 18:53:23
@Tim我遇到过这种情况,除非我误以为你不能用这种方式来表示多种形式吗?除非你复制粘贴每种形式所需的扩展方法? – Steven 2014-11-23 18:55:18