在应用程序设计时候,我们经常需要判断用户输入的数据是否合法,不合法给出提示,一般提示都是用MessageBox,但是怎样达到类似下面的效果呢?
右边有个小红叹号,鼠标放上还有信息提示。。。。
这个就需要使用C#提供的错误显示控件了。
在工具栏找到errorPrivoder控件拖进来,发现跟timer控件差不多。。呵呵。。。。
创建应用界面如下:
我们用到的是errorProvider1.SetError这个函数有两个参数,第一个是要显示错误的对于空间ID,第二个是鼠标放在上面自动显示的信息。
代码如下:(这个代码完全实现了用户登陆的细节,需要的话可以直接放到自己代码中)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 使用错误提示控件
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnSure_Click(object sender, EventArgs e)
{
if (txtName.Text != "Admin")
{
if (txtName.Text != "")
{
errorProvider1.SetError(txtName, "用户名输入错误");
DialogResult d = MessageBox.Show("用户名输入错误", "错误", MessageBoxButtons.RetryCancel, MessageBoxIcon.Question);
if (d == DialogResult.Retry)
{
txtName.Text = "";
txtPsw.Text = "";
txtRePsw.Text = "";
}
else
{
this.Close();
}
}
else
{
errorProvider1.SetError(txtName, "用户名不能为空");
DialogResult d = MessageBox.Show("用户名不能为空", "错误", MessageBoxButtons.RetryCancel, MessageBoxIcon.Question);
if (d == DialogResult.Retry)
{
txtName.Text = "";
txtPsw.Text = "";
txtRePsw.Text = "";
}
else
{
this.Close();
}
}
}
else //判断密码
{
if (txtPsw.Text == "")
{
errorProvider1.SetError(txtPsw, "密码不能为空");
DialogResult d = MessageBox.Show("密码不能为空", "错误", MessageBoxButtons.RetryCancel, MessageBoxIcon.Question);
if (d == DialogResult.Retry)
{
txtPsw.Text = "";
txtRePsw.Text = "";
}
this.Close();
}
else
{
if (txtRePsw.Text != txtPsw.Text)
{
errorProvider1.SetError(txtRePsw, "密码不一致");
DialogResult d = MessageBox.Show("密码不一致", "错误", MessageBoxButtons.RetryCancel, MessageBoxIcon.Question);
if (d == DialogResult.Retry)
{
txtRePsw.Text = "";
txtPsw.Text = "";
}
else
{
this.Close();
}
}
else
{
if (txtPsw.Text != "Admin")
{
errorProvider1.SetError(txtPsw, "密码错误");
DialogResult d = MessageBox.Show("密码错误", "错误", MessageBoxButtons.RetryCancel, MessageBoxIcon.Question);
if (d == DialogResult.Retry)
{
txtPsw.Text = "";
txtRePsw.Text = "";
}
else
{
this.Close();
}
}
else
{
MessageBox.Show("登陆成功");
}
}
}
}
}
}
}
分享到:
相关推荐
本例中的代码片段表明该应用程序是使用ASP.NET Web Forms技术栈编写的。为了运行这段代码,你需要具备以下环境: - **开发工具**:Visual Studio 或其他支持ASP.NET Web Forms的IDE。 - **框架版本**:.NET ...
在本例中,可能使用的是SQL Server或者SQLite等数据库。新建一个数据库,创建一个名为"Users"的表,包含两列:"Username"(用户名)和"Password"(密码)。确保密码经过加密存储,以提高安全性。 在C#代码中,我们...
在本文中,我们将深入探讨如何使用C#编程语言创建一个具有动画效果的美观登录窗口。C#是一种广泛用于开发Windows应用程序、Web应用以及游戏的面向对象的语言,它提供了丰富的库和工具来帮助开发者构建交互式用户界面...
- **C#编程**:因为.NET Framework和DLL的编写通常使用C#,了解语言特性是必要的。 - **Windows API调用**:可能需要使用API函数来实现某些特定功能,如弹出对话框或处理窗口消息。 - **事件驱动编程**:用户界面...
在本例中,使用了`SqlCommand`类创建一个命令对象,设置`CommandText`属性为SQL查询语句,用于从“用户”表中选择与输入ID匹配的记录。 SQL查询示例:`"select ID,密码 from 用户 where ID='" + ID + "'";` 3. ...
- 添加背景图片,可以使用`PictureBox`控件,并设置其`SizeMode`属性为`StretchImage`以适应窗口大小。 4. **动画效果**: - QQ登录界面有一些动态效果,例如输入框聚焦时的放大效果。在C#中,可以使用`Timer`...
在处理登录响应时,需要解析返回的JSON或XML数据,检查登录状态,如果成功则显示欢迎信息,失败则给出错误提示。 关于安全性,QQ登录界面的密码通常需要进行加密处理。C#中提供了多种加密算法,例如MD5、SHA系列和...
总结来说,"asp.net简易登陆界面"项目展示了如何使用ASP.NET和C#创建一个简单的Web登录系统,包括前端表单设计和后端的凭证验证。这个过程涉及到HTML、CSS、JavaScript(用于增强用户体验)以及C#和数据库交互,确保...
2. **添加ModalPopupExtender**:在表单外,添加ModalPopupExtender控件,设置其TargetControlID为触发弹出的元素(通常是登录按钮),并指定PopupControlID为包含登录表单的容器。 3. **编写JavaScript/AJAX代码**...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
在这个系统中,C#被用作主要的编程语言,它是一种面向对象的编程语言,特别适合开发Windows应用程序,如本例中的学校图书馆管理系统。 在描述中,我们看到登陆界面是系统的核心部分,因为它为用户提供访问其他功能...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
同时,如果数据库连接失败,或者查询无结果,应向用户显示适当的错误信息。 总的来说,WinForm登录验证功能涉及到用户界面设计、数据库操作、异常处理等多个方面,是学习C#编程和.NET框架基础的实用练习。通过这个...