(七) 微信APP是一款非常流行的及时通讯类应用软件,请利用所学的桌面应用开发知识,仿照完成一个类似微信登录功能的小软件,功能要求如下所示,最终效果见Demo文件夹:
-
软件需求及编码提示:
该软件包含一个主窗体,窗体标题为“微信2019”,窗体的大小为280400。该窗体标题栏右边没有最小化,最大化,以及退出按钮。 设置ControlBox属性为false,就能把右上角的去掉
窗体的右上角放置两个大小为2424的PictureBox控件,左侧控件放置“设置”图标,右侧放置“关闭”图标(相关图标资源在素材文件夹中)。
添加事件,代码如下:
private void PictureBox2_MouseLeave(object sender, EventArgs e)
{
pictureBox2.BackColor = Color.Transparent;
}private void PictureBox1_MouseEnter(object sender, EventArgs e) { pictureBox1.BackColor = Color.Red; } private void PictureBox1_MouseEnter(object sender, EventArgs e) { pictureBox1.BackColor = Color.Red; } private void PictureBox1_MouseLeave(object sender, EventArgs e) { pictureBox1.BackColor = Color.Transparent; }
通过为上述PictureBox控件添加相关事件,完成如下效果。当鼠标进入上述控件时,设置图标背景变为LightGray颜色,关闭图标变为Red,当鼠标移出上述图标时,背景色都变为透明色,以此来友好的提醒用户相关操作。
在窗体合适位置添加一个大小为96*96的PictureBox控件,用于显示用户头像(相关头像图片资源在素材文件夹中)。
在头像下方添加一个Label控件,用于显示微信用户昵称,文字为“微信小冰”,字体颜色为DimGray,字体为:微软雅黑,11号字体。
在昵称下方添加一个Button,按钮中的文字为“登录”,字体为:微软雅黑,11号字体,按钮初始背景颜色为RGB(26, 173, 25),按钮中的字体颜色为白色,通过修改相关属性去除按钮外围的边框。提示:可以通过直接在属性栏中输入具体数值的方式,设置用户自定义的颜色,如下图所示:
在创建按钮的 FlatStyle 属性中设置为Flat,就能除去边框
通过修改相关属性,或者编写相关事件的方式,实现鼠标移入移出“登录”按钮时的颜色变化。鼠标移入按钮后背景色变为RGB(18, 150, 17),移出后恢复为RGB(26, 173, 25)。
添加事件,写入代码:
private void Button1_MouseEnter(object sender, EventArgs e)
{
button1.BackColor = Color.FromArgb(18, 150, 17);
}
private void Button1_MouseLeave(object sender, EventArgs e)
{
button1.BackColor = Color.FromArgb(26, 173, 25);
}
编写对应事件,当用户点击登录按钮后,登录按钮消失,在登录按钮所在位置出现“请在手机上确认登录”文本。该文本字体,颜色同微信昵称一致。
界面这样设置,同时将这个label的Visible属性改成false,这样刚刚载入的时候就看不到这个label了然后写入代码:
private void Button1_Click(object sender, EventArgs e)
{
button1.Visible = false;
label3.Visible = true;
}
意思是,点击按钮之后,按钮不可见,label可见
在登录按钮下方添加一个Label,文字为“切换账号”,字体为:微软雅黑,11号字体,颜色为RGB(67, 129, 199)。
为了友好的提示用户相关操作,请将“设置,关闭,头像,登录,以及切换账号”五个控件的光标设置为Hand。
请编写代码,当用户点击了关闭图标的时候,关闭窗体。
private void PictureBox1_Click(object sender, EventArgs e)
{
Application.Exit();
}
相关控件摆放整齐,垂直居中对齐,左右上下间距合理。
相关控件的命名,以及编码方式符合常见编码规范。//这个要求放在了最后,我都做完了
PS:有什么不懂得评论区可以问我记得点赞关注
2) 最终实现效果如下图所示:
代码
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 WeChat
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void PictureBox2_MouseEnter(object sender, EventArgs e)
{
pictureBox2.BackColor = Color.LightGray;
}
private void PictureBox2_MouseLeave(object sender, EventArgs e)
{
pictureBox2.BackColor = Color.Transparent;
}
private void PictureBox1_MouseEnter(object sender, EventArgs e)
{
pictureBox1.BackColor = Color.Red;
}
private void PictureBox1_MouseLeave(object sender, EventArgs e)
{
pictureBox1.BackColor = Color.Transparent;
}
private void Button1_Click(object sender, EventArgs e)
{
button1.Visible = false;
label3.Visible = true;
}
private void PictureBox1_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}