这个是我的登录窗口。
我现在准备了一个TXT文件,里面的账号密码如下:
Ianto cO$$e2
Jack h@rKn2$$
Toshiko m@1NfrAm2
River $wEe71e
Donna D0c%0r
然后我遇上的问题是,在玩家于textbox中输入字符后,我想让其输入的账号与密码在按下登录button后与以上的信息匹配,这样才能完成登录跳到第二个form,但是我不知道该怎么在login按钮中调用函数?还是说我要先将上面的字符转化成二进制后与玩家输入的字符进行匹配呢?
以下是我的代码:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;namespace Login
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
} private void TextBox_Usersname(object sender, TextChangedEventArgs e)
{
string str1 = Console.ReadLine();
} private void TextBox_Password(object sender, TextChangedEventArgs e)
{
string str2 = Console.ReadLine();
} public private void Login_btn(object sender, RoutedEventArgs e)
{
string filePath = "C:\\MMORPG_DB\\highly_secure_user_file.txt";
StreamReader sr = new StreamReader(filePath, Encoding.Default);
while (sr.ReadLine() != null)
if ()
{
ServerState form2 = new ServerState();
form2.Show();
//this.DialogResult = Convert.ToBoolean(1);
this.Close();
break;
}
else
{
MessageBox.Show("Uersname or Passowrd is error!");
}
} private void Quit_btn(object sender, RoutedEventArgs e)
{
App.Current.Shutdown();
}
}
}
总共就四个按钮,两个textbox分别对应username和password,剩下两个是login按钮和quit按钮。
我不知道该在if的判断条件中写什么……因为尝试着直接写str1和str2后却发现这两个函数无法被识别。
本人初学者,没想到碰上的第一个练习就被卡住了,查了很多资料还是没懂怎么做,所以只能在这里麻烦诸位了。
解决方案 »
- IPC 到底是个什么东西
- 浅析C#中DataTable数据写入Excel的3种方式
- C#简单问题
- 请问关于组件性能问题
- 把数据库里的图片库动态生成缩略图,提示内存不足
- 大家都知道Ctrl+Z是返回上1步操作~那么返回的撤消上1步返回操作的快捷键是什么
- show的问题!帮看看!
- 异常:指定的参数已超出有效值的范围,参数名:size、远程主机强迫关闭了一个现有连接。求大侠们帮帮忙,谢谢!
- 请推荐C#网络编程(DNS、TCP、SOCKET、UDP等)方面的书
- 用vsualstudio.net中的vsual.c# ,如何做一个页面,分为两部分left和main
- c#如何画一条用图片填充的线
- 直角三角形个数
但是后来转念一想,这样似乎还是不对,于是就放弃了。
将多个用户信息保存到字典或者动态数组中去,将ID作为查询的Key
密码检验不麻烦,就是字符串类型的比较
{
string str1 = Console.ReadLine();
} public void TextBox_Password(object sender, TextChangedEventArgs e)
{
string str2 = Console.ReadLine();
} //public static void CompareTXT()
//{
// TextBox_Username str1 = new TextBox.str1(); //} private void Login_btn(object sender, RoutedEventArgs e)
{
if (TextBox_Usersname.Text == "" || TextBox_Password.Text == "") {
MessageBox.Show("Can't be empty!");
return;
}这个是我改的新的代码,但是它老是提示我
错误 “MainWindow.TextBox_Usersname(object, TextChangedEventArgs)”是一个 方法,这在给定的上下文中无效。
这怎么搞啊。。
我的TXT文件中只有两串数字,一串是账户名,一串是密码。如果我要给每一个用户加上一个ID,这意味着我应该直接修改TXT文件的内容吗?如果要在代码中将两串英文和数字赋值给ID,又怎么让计算机识别哪一串是账户,哪一串是密码呢?