C#如何判断Textbox 里面的值不能为空

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何判断Textbox 里面的值不能为空相关的知识,希望对你有一定的参考价值。

如果是winform的话,可以在文本框的LostFocus事件中写如下代码:
if(string.IsNullOrWhiteSpace(TextBox1.Text))
MessageBox.Show("xxx");
TextBox1.Focus();


如果是asp.net的话,就麻烦一些了,你的判定是不能写在后台代码中的,因为后台的代码服务器端代码,要运行服务器端代码需要提交页面。所以,你可以这样做:
前端
<asp:TextBox runat="server" id="txt" />
后置代码:
在page_load中加上这个:
txt.Attributes.Add("onblur", "if(!/\\S+/.test(this.value)) alert('不能为空');");//不完整,具体的你在修正一下好了追问

你好!用你上面说的.IsNullOrWhiteSpace 不行private bool CheckRSVNameBox(ref TextBox textbox)
if (string.IsNullOrEmpty(txtBox.Text.Trim ())
textbox.BackColor = Color.Red;
return false;


if (!CheckRSVNameBox( ref txtboxRSVName))
ErrCount++;

文本框name为txtboxRSVName,谢谢

追答

string.IsNullOrWhiteSpace不行,是因为你的vs不是2010,只有.net framework 4.0以上才支持这个方法。
可以使用string.IsNullOrEmpty(Text.Trim())代替。

追问

错误1“XS_DSChecker.PersonInfosDetailForm.CheckNameBox(refSystem.Windows.Forms.TextBox)”: 并非所有的代码路径都返回值
我现在用的是 string.IsNullOrEmpty(txtBox.Text.Trim ()); 代替了; 但是方法提示上的错误信息

追答

private bool CheckRSVNameBox(ref TextBox textbox)

if (string.IsNullOrEmpty(textbox.Text.Trim ())
textbox.BackColor = Color.Red;
return false;

return true;


if (!CheckRSVNameBox( ref txtboxRSVName))
ErrCount++;


提问者很懒!!!

追问

我按照 你上面说的做了,还是不行 ,错误信息错误: 并非所有的代码路径都返回值

参考技术A if (textBox1.Text.Trim() == "") //Trim()是去除空格

MessageBox.Show("不能为空", "提示");
追问

private bool CheckRSVNameBox(ref TextBox textbox)
if (textbox.Text.Trim()=="")

textbox.BackColor = Color.Red;
return false;


if (!CheckRSVNameBox( ref txtboxRSVName))
ErrCount++;

我这样处理但是不行! 请问一下应该如果应用? 谢谢

参考技术B if (string.IsNullOrEmpty(Textbox.Text.Trim())) 参考技术C 页面加个验证控件。

C# TextBox调整行间距

最近在用C#做开发,用到了TextBox,其中有些文本框里面需要输入很多信息,默认的TextBox的行间距比较小,文字输入多了看起来就很不舒服。请教各位大神有没有调整行间距的方法?RichTextBox貌似可以通过代码来调整间距,但是网上的代码有好多错误,不太会修改。而且又不能复制粘贴,也不是特别好用。或者各位大神知道有什么可以在C# winform里面调整行距,又可以复制粘贴的控件,小弟不胜感激!

可以用RichTextBox(富文本编辑框),可以调整段落格式(包括你说的行距),或者重写TextBox控件咯,我比较喜欢WPF用各种控件和容器的组合去实现这样的自定义控件的功能,而行距Margin就可以实现追问

有RichTextBox调整行间距的代码吗?网上的都有错误,不能直接在C#里面使用,我不太了解怎么修改。而且RichTextBox不支持能复制粘贴,而我现在做的软件必须可以复制的,要在RichTextBox里面复制还要做很多工作。你有没有其他的一些比较好的控件?谢谢!

参考技术A

你可以直接在TextBox的size中直接修改它的Height嘛。

追问

额,你说的这个是调整TextBox大小啊,我的意思是在输入多行文字之后能不能调整行间距呢?或者有没有比较好的控件,要不然文字太密集看起来太难受了。谢谢你的热情回答!

追答

额,这下明白了,不过貌似这样就比较麻烦了,抱歉,没帮到忙。

参考技术B <TextBox TextBlock.LineHeight="40" TextWrapping="Wrap" ></TextBox>
TextBlock.LineHeight设置行高
参考技术C

可以采用空格的形式实现。。。比较的简单。。

以上是关于C#如何判断Textbox 里面的值不能为空的主要内容,如果未能解决你的问题,请参考以下文章

C#中如何限制textbox不为空?

在C#中注册页面如何判断用户名和密码为空

c#用for循环textbox判断是不是为空

asp.net中如何判断input#textbox内容为空

(ASP.NET 、 VS2008)JS(javascript) 判断 TextBox 是不是为空。求 JS 代码。

C#中如何限制Textbox控件中只能输入数字,要能用退格的