winform实现类似qq的提示框

jayqean 2009-11-04 05:03:18
QQ2009密码输入为空时,点击登录按钮,会在密码框下面出现一个提示框[请您输入密码后再登录]
再次在窗体任一地方获取一个焦点后,提示框消失
要考虑到扩展(可能帐号也输入为空)

好像toolTip1实现的效果不行,需要改进,
this.toolTip1.SetToolTip(this.txtPassword, "密码不能为空");
this.toolTip1.Show("密码不能为空", this.txtPassword);
this.toolTip1.IsBalloon = true;
这种设置(提示框一直显示)
请教高手(分不够,可再加)
...全文
564 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
nihaolang 2012-10-22
  • 打赏
  • 举报
回复
值得学习,顶一个
jerrylau86853 2009-11-05
  • 打赏
  • 举报
回复
QQ也是用toolTip1来做的,代码在上面了,接分咯~~~~~~
jerrylau86853 2009-11-05
  • 打赏
  • 举报
回复
用验证控件,省事又效率
月影 2009-11-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wuyq11 的回复:]
http://www.codeproject.com/KB/shell/balloontipsarticle.aspx
[/Quote]
that's what i want to say.
hhc123 2009-11-04
  • 打赏
  • 举报
回复
不是叫你改成上面那样就行了吗?
this.toolTip1.IsBalloon = true; //这句一定要在这里

this.toolTip1.SetToolTip(this.txtPassword, "请您输入密码后再登录");
this.toolTip1.Show("请您输入密码后再登录", this.txtPassword, 1, this.txtPassword.Height / 2, 2000);
//this.toolTip1.IsBalloon = true;
this.toolTip1.UseFading = false;//淡入淡出效果
this.txtPassword.Focus();
return;
jayqean 2009-11-04
  • 打赏
  • 举报
回复
我不关心泡型和正方型效果,我需要的是第一次点击按钮就出现那提示对话框,
开始我贴出的代码都是点击两次按钮后,才出现的提示框
hhc123 2009-11-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hhc123 的回复:]
//  this.toolTip1.IsBalloon = true;这个不要写代码,直接在控件上设置
[/Quote]
不然的话,程序默认的不是泡形的,而是方形的,
也可以如下把那句提前
if (this.txtPassword.Text == "")
{ this.toolTip1.IsBalloon = true;

this.toolTip1.SetToolTip(this.txtPassword, "请您输入密码后再登录");
this.toolTip1.Show("请您输入密码后再登录", this.txtPassword, 1, this.txtPassword.Height / 2, 2000);
//this.toolTip1.IsBalloon = true;
this.toolTip1.UseFading = false;//淡入淡出效果
this.txtPassword.Focus();
return;
}
liaoyukun111 2009-11-04
  • 打赏
  • 举报
回复
应该不难的,UP
hhc123 2009-11-04
  • 打赏
  • 举报
回复
// this.toolTip1.IsBalloon = true;这个不要写代码,直接在控件上设置
jayqean 2009-11-04
  • 打赏
  • 举报
回复

if (this.txtPassword.Text == "")
{
this.toolTip1.SetToolTip(this.txtPassword, "请您输入密码后再登录");
this.toolTip1.Show("请您输入密码后再登录", this.txtPassword, 1, this.txtPassword.Height / 2, 2000);
this.toolTip1.IsBalloon = true;
this.toolTip1.UseFading = false;//淡入淡出效果
this.txtPassword.Focus();
return;
}

不输入密码,直接点击登录,第一次点击按钮,是不弹这气泡式对话框的,只有点第二次才显示出来
有什么办法让它第一次点击就出来?
hhc123 2009-11-04
  • 打赏
  • 举报
回复
this.toolTip1.Show("密码不能为空", this.txtPassword);
名称 说明
Show(String, IWin32Window) 设置与指定控件关联的工具提示文本,然后以模式方式显示工具提示。
Show(String, IWin32Window, Point) 设置与指定控件关联的工具提示文本,然后在指定的相对位置以模式方式显示该工具提示。
Show(String, IWin32Window, Int32) 设置与指定控件关联的工具提示文本,然后在指定时间段内保持该工具提示的显示。
Show(String, IWin32Window, Point, Int32) 设置与指定控件关联的工具提示文本,然后在指定的相对位置和在指定的时间段内保持该工具提示的显示。
Show(String, IWin32Window, Int32, Int32) 设置与指定控件关联的工具提示文本,然后在指定的相对位置以模式方式显示该工具提示。
Show(String, IWin32Window, Int32, Int32, Int32) 设置与指定控件关联的工具提示文本,然后在指定的相对位置和在指定的时间段内保持该工具提示的显示。
这么多个你选一个用吧
jayqean 2009-11-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wangwfksyc 的回复:]
你的意思是不是这样的,就是说比如我没有输入密码框,点击登录按钮之后,在密码框旁边显示出密码不能为空,对不对
[/Quote]
hhc123 2009-11-04
  • 打赏
  • 举报
回复
toolTip1里不是有个时间设置吗?自己查看一下
wangwfksyc 2009-11-04
  • 打赏
  • 举报
回复
这是简单的方法
wangwfksyc 2009-11-04
  • 打赏
  • 举报
回复
有两个文本框,textbox1 和 textbox2 和两个lable
写在按钮的Click事件中
string str_Name = this.textbox1.Text;
string str_Pass = this.textbox2.Text;

if( textbox1.Text.Equels(""))
{
//显示在用户名文本框后
this.Lable1.Text = "用户名不能为空!!";
}
else if( textbox2.Text.Equels("")) )
{
//显示在密码文本框后
this.Lable2Text = "用户名不能为空!!";
}
else
{
MessgaeBox.Show("请核对用户名和密码之后登陆!!");
}
wangwfksyc 2009-11-04
  • 打赏
  • 举报
回复
你的意思是不是这样的,就是说比如我没有输入密码框,点击登录按钮之后,在密码框旁边显示出密码不能为空,对不对

110,579

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧