现在碰到这样一个问题:
就是程序上有一些操作,比如界面上有几个TextBox,需要用户输入,然后保存用户输入的数据在文本文件上。
若是用户没有输入完全,就转向其他的界面,或者未点击保存操作就点击其他的操作,此时应该需要一个事件进行处理,该怎么处理啊?比如任务栏的颜色变化或者弹出对话框提示等等
有没有大侠做过此类事件给指点指点。谢谢
(我用的是布尔变量,检查所有的TextBox是否为空,然后处理,但是效果很差)
就是程序上有一些操作,比如界面上有几个TextBox,需要用户输入,然后保存用户输入的数据在文本文件上。
若是用户没有输入完全,就转向其他的界面,或者未点击保存操作就点击其他的操作,此时应该需要一个事件进行处理,该怎么处理啊?比如任务栏的颜色变化或者弹出对话框提示等等
有没有大侠做过此类事件给指点指点。谢谢
(我用的是布尔变量,检查所有的TextBox是否为空,然后处理,但是效果很差)
解决方案 »
- GetMouseMovePoints 用法实例
- StackOverflowException异常:挂起的方法调用过多而导致执行堆栈溢出时引发的异常
- 关于NULL值怎么判断的菜鸟问题
- 一个小问题....
- 问个关于remoting的错误,请高手指点
- DataAdapter的Update( DS , "表名" )操作完成后,怎么才能不自动更新行状态
- 序列化类型问题
- C#未将对象引用到实例的问题,不知道怎么搞了
- 急求助,大神帮忙.连接执行oracle,报错
- 怎样在最短的时间培训新人掌握C#及.Net技术?继续讨论中...一千分....等着你哦!
- 数据库报表用什么好?
- c# 剪切黏贴控件后 控件名变了,改成原来的名字,报错:属性无效
button_Click事件里if(textBox1.Text.Trim().Length==0)
{
textBox1.Focus();
return;
}
还有就是用户如果点击其他的界面的话,我使用的是Active属性,效果也不好。
在你点击确定按钮的时候,把窗体内的控件都循环判断一下就行了
foreach(control ctrl in this.controls)
{
if(ctrl.Text.Trim() == string.empty)
{
MessageBox("");
ctrl.Focus();
}
if (this.txb1.Text.Trim() == "")
{
MessageBox.Show(this, "提示信息!", "提示",MessageBoxButtons.OK, MessageBoxIcon.Information);
this.txb1.Focus();
return;
}
你的想法好像不是很科学,但如果真的是这样的话,你就把上面的代码重构成一个函数,在每个按钮的单击事件中都调用这个函数,但单机的是TextBox时不能调用,否则你就没法往下写了
this.TextBox1.LostFocus+=new EventHandler(TextBox1_LostFocus);//注册事件,写在窗体构造函数中 void TextBox1_LostFocus(object sender,EventArgs e)
{
//写你的查询逻辑
}
否则可以用Leave事件
private void textBox1_Leave(object sender, EventArgs e)
{
MessageBox.Show(this.textBox1.Text);
}
也可以通过来控制焦点来解决,当打开别的窗口时,当前这个Form失去焦点就判断一下TextBox.Text的值,为空则弹出一个提示.
{
DOCUMENT.getelementByid("textBox1").Focus();
return false;
}
winform中要自己写方法进行校验的
一般顺序:
1、textbox gotfocus后注册事件textbox leave
2、textbox leave后校验是否成功,之后解除和这个textbox挂钩的leave事件
武汉捷讯技术有限公司为你提供全天候的技术服务!
捷讯技术采用强大的WinIIS虚拟主机管理系统,使得虚拟主机实时开通,在线提交申请,全天24小时系统自动开通空间,20秒内即可正式投入使用。支持在线修改FTP密码、绑定域名、设定默认页…… 为用户提供完善的虚拟主机管理系统。