zoukankan      html  css  js  c++  java
  • 第四篇——Spring音乐登录界面设计及实现(C#)

      Spring音乐播放器,我们小组设计其启动时有一个登录界面,用户初次可以注册,输入用户名和密码,点击注册即将输入信息保存到register文本文件中;如果已有用户名,输入用户名和密码,点击登录,程序会将输入的用户名和密码与已有的用户信息进行比较,如果找到完全匹配的用户名和密码,则进入音乐播放界面;若不匹配,则弹出消息框:用户名或密码错误。

      首先建立一个登录界面窗口,添加button,label,和textbox,更改了窗体背景,如下图。

    然后对注册和登录按钮进行消息响应编程。

    C#编程内容主要涉及文件的的读写,以及判断,比较简单。

    注意事项如下:

    在textbox中输入用户名和密码,首次点击注册按钮,程序将textbox中的字符写入新建的Register.txt文档中,用户名和密码各一行;

    注册时,若用户名或密码为空,则弹出消息框提示请填写用户名或密码;

    注册时,若用户名重复,则提示用户名重复,不写入文档;

    登录时,若用户名或密码为空,则弹出消息框提示请填写用户名或密码;

    登录时,若用户名或密码错误,则弹出消息框提示用户名或密码错误;

    默认生成的Register.txt在桌面,其后注册时,用户名和密码均写在前面注册的账号的下两行。

    具体实现代码如下:

      1 using System;
      2 using System.Collections.Generic;
      3 using System.ComponentModel;
      4 using System.Data;
      5 using System.Drawing;
      6 using System.Linq;
      7 using System.Text;
      8 using System.Windows.Forms;
      9 using System.IO;
     10 
     11 namespace Spring音乐播放器
     12 {
     13     public partial class 登录界面 : Form
     14     {
     15         public 登录界面()
     16         {
     17             InitializeComponent();
     18         }
     19         //注册
     20         private void register_Click(object sender, EventArgs e)
     21         {
     22             Boolean flag = false;//布尔变量
     23             string path = @"C:UsersAdministratorDesktopRegister.txt";
     24 
     25             //判断是否填写完整用户名和密码
     26             if (string.IsNullOrWhiteSpace(username.Text) || string.IsNullOrWhiteSpace(password.Text))
     27             {
     28                 MessageBox.Show("请填写用户名或密码");
     29                 return;
     30             }
     31 
     32             if (!File.Exists(path))//如果不存在则建立一个文档
     33             {
     34                 // Create a file to write to.
     35                 using (StreamWriter sw = File.CreateText(path))
     36                 {
     37                     //一行用户名,一行密码
     38                     sw.WriteLine(this.username.Text);
     39                     sw.WriteLine(this.password.Text);
     40                     MessageBox.Show("注册成功!");
     41                     sw.Close();
     42                 }
     43             }
     44             else
     45             {
     46                 //判断是否用户名重复
     47                 StreamReader objReader = new StreamReader("C:/Users/Administrator/Desktop/Register.txt");
     48                 string sLine = "";
     49                 int i = 0;
     50                 while ((sLine = objReader.ReadLine()) != null)
     51                 {
     52                     i++;
     53                     if (this.username.Text == sLine && Convert.ToInt32(i) % 2 == 1)
     54                     {
     55                         MessageBox.Show("该用户名已被使用!");
     56                         flag = true;
     57                         break;
     58                     }
     59                 }
     60                 objReader.Close();
     61 
     62                 if (flag == true)
     63                     return;
     64                 else
     65                     //在已有的文档中接着写
     66                     using (StreamWriter sw = File.AppendText(path))
     67                     {
     68                         sw.WriteLine(this.username.Text);
     69                         sw.WriteLine(this.password.Text);
     70                         MessageBox.Show("注册成功!");
     71                         sw.Close();
     72                     }
     73             }
     74         }
     75         //登录
     76         private void launch_Click(object sender, EventArgs e)
     77         {
     78             Boolean flag = false;
     79             string username = this.username.Text;
     80             string password = this.password.Text;
     81             if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password))
     82             {
     83                 MessageBox.Show("请填写用户名或密码");
     84                 return;
     85             }
     86             StreamReader objReader = new StreamReader("C:/Users/Administrator/Desktop/Register.txt");
     87             string sLine = "";
     88             int i = 0;
     89             int n = 0;
     90             while ((sLine = objReader.ReadLine()) != null)
     91             {
     92                 i++;
     93                 if (username == sLine && Convert.ToInt32(i) % 2 == 1 )//用户名是在第奇数行
     94                     n = i+1;
     95                 if (n == i && password == sLine)//密码在对应的用户名的下一行
     96                 {
     97                     MessageBox.Show("登录成功!");
     98                     flag = true;
     99                     break;
    100                 }
    101             } 
    102             objReader.Close();
    103             if(flag == false )
    104                 MessageBox.Show("用户名或密码错误!");
    105         }
    106     }
    107 }

    实验截图如下:

    注册与写入内容:

      

    注册时用户名重复:

    登录:

    注册时未输入密码:

    登录时密码错误:

    注:

    暂时还没有将登录界面与播放界面链接起来,即注册或登录后不跳转至播放界面;

    用户名和密码的输入没做限制;

    注册用户名的意义是准备在播放界面添加歌曲生成歌曲目录,与用户名对应,这样每个账号就有自己的歌单啦!

  • 相关阅读:
    算法导论(1)堆排序
    Opencv--HoughCircles源码剖析
    数据结构算法应用C++语言描述——(1)C++基础知识
    Java编程的23种设计模式
    团队建设
    管理方法论和角色认知
    压力测试:怎样设计全链路压力测试平台
    09-数据库优化方案(二):写入数据量增加时,如何实现分库分表
    08-数据库优化方案(一):查询请求增加时,如何做主从分离
    07-池化技术:如何减少频繁创建数据库连接的性能损耗
  • 原文地址:https://www.cnblogs.com/ningmouming/p/5479423.html
Copyright © 2011-2022 走看看