简单的实现QQ通信功能(三)
2014-11-05 22:53
281 查看
第三部分:登陆界面的设计及代码
一:效果图及界面设计
1.效果图:
2.界面设计:
(1)仿照QQ的登陆界面,右上角放了三个Label,用来做关闭、最小化和设置,使用了它们的Click事件当做按钮用。
(2)上面是一个pictureBox放一个图片。
(3)下面用tableLayoutPanel布局。
(4)tableLayoutPanel左侧图片和图片右下角的在线图放在一个Panel里,这个Panel占3行。
(5)用户名用ComboBox,密码框用TextBox,登陆用了个Button。
(6)用到的各个控件的Name:
关闭按钮:closewindow,最小化按钮:smallwindow,上面的大图片:pictureBox1,状态图标:zhuangtai;
用户名框:combuid,密码框:textpwd,登陆按钮:btnlogin,放左右两个图片imageList1;
右键菜单:contextMenuStrip1,右键菜单里用到的图片:imageList2。
二.:代码设计:
privatevoidzhuangtai_Click_1(objectsender,EventArgse)
{
contextMenuStrip1.Show(zhuangtai,0,18);
}
privatevoid在线ToolStripMenuItem_Click(objectsender,EventArgse)
{
zhuangtai.Image=imageList2.Images[3];
zt=Convert.ToInt32(在线ToolStripMenuItem.Tag);
}
privatevoid隐身ToolStripMenuItem_Click(objectsender,EventArgse)
{
zhuangtai.Image=imageList2.Images[2];
zt=Convert.ToInt32(隐身ToolStripMenuItem.Tag);
}
privatevoid忙碌ToolStripMenuItem_Click(objectsender,EventArgse)
{
zhuangtai.Image=imageList2.Images[1];
zt=Convert.ToInt32(忙碌ToolStripMenuItem.Tag);
}
privatevoid离开ToolStripMenuItem_Click(objectsender,EventArgse)
{
zhuangtai.Image=imageList2.Images[0];
zt=Convert.ToInt32(离开ToolStripMenuItem.Tag);
}
一:效果图及界面设计
1.效果图:
2.界面设计:
(1)仿照QQ的登陆界面,右上角放了三个Label,用来做关闭、最小化和设置,使用了它们的Click事件当做按钮用。
(2)上面是一个pictureBox放一个图片。
(3)下面用tableLayoutPanel布局。
(4)tableLayoutPanel左侧图片和图片右下角的在线图放在一个Panel里,这个Panel占3行。
(5)用户名用ComboBox,密码框用TextBox,登陆用了个Button。
(6)用到的各个控件的Name:
关闭按钮:closewindow,最小化按钮:smallwindow,上面的大图片:pictureBox1,状态图标:zhuangtai;
用户名框:combuid,密码框:textpwd,登陆按钮:btnlogin,放左右两个图片imageList1;
右键菜单:contextMenuStrip1,右键菜单里用到的图片:imageList2。
二.:代码设计:
//记录更改状态,默认为1是在线 intzt=1; //记录登录者的变量 privatestringuid; publicstringUid { get{returnuid;} set{uid=value;} } publicLogin() { InitializeComponent(); } //界面加载 privatevoidLogin_Load(objectsender,EventArgse) { //设置透明,需要先在设计中将要透明控件的backcolor设置为Transparent shezhi.Parent=this.pictureBox1; smallwindow.Parent=this.pictureBox1; closewindow.Parent=this.pictureBox1; zhuangtai.Parent=this.pictureBox2; //设置左右两个图片 pictureBox3.Image=imageList1.Images[0]; pictureBox4.Image=imageList1.Images[1]; }//关闭窗口按钮 privatevoidclosewindow_Click(objectsender,EventArgse) { this.Close(); } //关闭按钮鼠标放上去变色 privatevoidclosewindow_MouseEnter_1(objectsender,EventArgse) { closewindow.BackColor=Color.LightCoral; } //关闭按钮鼠标离开恢复颜色 privatevoidclosewindow_MouseLeave_1(objectsender,EventArgse) { closewindow.BackColor=Color.Transparent; } //最小化按钮最小化 privatevoidsmallwindow_Click_1(objectsender,EventArgse) { this.WindowState=FormWindowState.Minimized; } //实现鼠标点在上面大图片上拖动窗体的代码 intx; inty; privatevoidpictureBox1_MouseDown(objectsender,MouseEventArgse) { x=e.X; y=e.Y; } privatevoidpictureBox1_MouseMove(objectsender,MouseEventArgse) { if(e.Button==System.Windows.Forms.MouseButtons.Left) { this.Left=this.Left+(e.X-x); this.Top=this.Top+(e.Y-y); } } //密码框获得焦点时改为密码框,清空,字体颜色变化 privatevoidtextpwd_Enter(objectsender,EventArgse) { textpwd.Text=""; textpwd.ForeColor=Color.Black; textpwd.PasswordChar=Convert.ToChar("●"); }
//用户名框鼠标点进去时,清空,字体颜色变化 privatevoidcombuid_MouseDown_1(objectsender,MouseEventArgse) { combuid.Text=""; combuid.ForeColor=Color.Black; } //登录按钮按下时 privatevoidbtnlogin_Click_1(objectsender,EventArgse) { //取用户名密码,查询数据库 stringuid=combuid.Text.ToString(); stringpwd=textpwd.Text.ToString(); UsersTableAdapteradp=newUsersTableAdapter(); qqdata.UsersDataTabletable=adp.LoginCheck(uid,pwd); //判断登录是否成功 if(table.Rows.Count>0) { //成功之后this.DialogResult设为OK this.DialogResult=DialogResult.OK; Uid=table[0].UserName;//将用户名传到Uid adp.UpdateStateByCode(zt,uid);//将状态更改 adp.UpdateLasttimeByCode(DateTime.Now,uid);//将登录时间记录 } else { MessageBox.Show("账号密码错误!"); } } //头像右下角图标点击的时候弹出右键菜单
privatevoidzhuangtai_Click_1(objectsender,EventArgse)
{
contextMenuStrip1.Show(zhuangtai,0,18);
}
//右键菜单选择在线的时候
privatevoid在线ToolStripMenuItem_Click(objectsender,EventArgse)
{
zhuangtai.Image=imageList2.Images[3];
zt=Convert.ToInt32(在线ToolStripMenuItem.Tag);
}
//右键菜单选择隐身的时候
privatevoid隐身ToolStripMenuItem_Click(objectsender,EventArgse)
{
zhuangtai.Image=imageList2.Images[2];
zt=Convert.ToInt32(隐身ToolStripMenuItem.Tag);
}
//右键菜单选择忙碌的时候
privatevoid忙碌ToolStripMenuItem_Click(objectsender,EventArgse)
{
zhuangtai.Image=imageList2.Images[1];
zt=Convert.ToInt32(忙碌ToolStripMenuItem.Tag);
}
//右键菜单选择离开的时候
privatevoid离开ToolStripMenuItem_Click(objectsender,EventArgse)
{
zhuangtai.Image=imageList2.Images[0];
zt=Convert.ToInt32(离开ToolStripMenuItem.Tag);
}
相关文章推荐
- 简单的实现QQ通信功能(二)
- 简单的实现QQ通信功能(五)
- 简单的实现QQ通信功能(四)
- 简单的实现QQ通信功能(一)
- Linux下实现类似QQ的通信(简单聊天程序)
- QQ侧边栏功能简单实现,对初学者很适用,无序任何java代码即可实现
- 原生websocket简单实现即时通信功能-注解方式
- 简单QQ邮件发送功能的实现
- Android基于socket实现的简单C/S聊天通信功能
- Python socket实现的简单通信功能示例
- [置顶] 仿qq实现的记住密码和下拉框功能,简单易懂,还有背景炫酷的登录背景动画功能还有扫码
- C# GDI+ 简单绘图 (三) 实现仿QQ截图功能
- 基于Server-Sent Event的简单聊天室 Web 2.0时代,即时通信已经成为必不可少的网站功能,那实现Web即时通信的机制有哪些呢?在这门项目课中我们将一一介绍。最后我们将会实现一个基于Server-Sent Event和Flask简单的在线聊天室。
- 【tcp-ip学习总结】基础UDP实现的简单通信功能小程序
- thinkphp使用ajax、jquery、Mysql实现了简单的客户端通信功能
- 基于web的QQ实现代码(asp) ——在网叶(web)上实现简单QQ功能(转)
- Java_GUI创建单机版QQ聊天小程序并实现简单的小功能(附所有源码)
- iOS微信QQ聊天界面的UI框架以及Socket简单实现群聊功能
- C# GDI+ 简单绘图 (三) 实现仿QQ截图功能
- thinkphp使用ajax、jquery、Mysql实现了简单的客户端通信功能