正在使用C#进行ATM项目,我的老师需要完成此任务而不使用数据库,所以我创建了一个类,其中包含一个列表,用于在创建新帐户时存储所有数据,但问题是是我不能使用数据登录(我不知道如何做bool编码的事情,以确定该项目是否在列表中)
注意:在登录时,您应输入您的姓名和密码以登录
这是我的创建帐户表单代码
public partial class NewAccountForm : Form
{
public NewAccountForm()
{
InitializeComponent();
}
Accounts account1;
private void btnCreate_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
Form1 login = new Form1();
this.Hide();
login.Show();
}
private void btncreate_Click(object sender, EventArgs e)
{
int interest = 0;
char type = '0';
double amount = 0 ;
double balance = 0;
switch (cboType.SelectedIndex)
{
case 0: type = '1'; break;
case 1: type = '2'; break;
}
Saveing account1 = new Saveing(interest, txtName.Text, txtContact.Text,
txtpinCode.Text, type, amount,balance);
Data.CSaveing.Add(account1); //SList shows because its static if remove static will not appears
}
private void NewAccountForm_Load(object sender, EventArgs e)
{
}
}
这是我的登录表单
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Data Accounts;
bool validCode = false;
private void Form1_Load(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Accounts.name = txtname.Text;
Accounts.code = txtCode.Text;
if (string.IsNullOrWhiteSpace(txtname.Text))
{
MessageBox.Show("Please Type your full name");
}
if (string.IsNullOrWhiteSpace(txtCode.Text))
{
MessageBox.Show("Please Enter a correct account Pin Code");
}
else if ((Accounts.name == txtname.Text)) ;
else if ((Accounts.code != txtCode.Text)) ;
{
int i;
progressBar1.Maximum = 100;
progressBar1.Minimum = 0;
progressBar1.Step = 1;
timer1.Start();
for (i = 0; i <= 50; i++)
progressBar1.Value = i;
}
}
private void button2_Click(object sender, EventArgs e)
{
NewAccountForm naf = new NewAccountForm();
this.Hide();
naf.Show();
}
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.PerformStep();
if (progressBar1.Value == 99)
{
LoginForm login = new LoginForm();
this.Hide();
login.Show();
}
}
private void label3_Click(object sender, EventArgs e)
{
}
private void label4_Click(object sender, EventArgs e)
{
}
}
答案 0 :(得分:0)
这个问题缺少很多必要的信息。目前尚不清楚你需要做什么。
但是,如果您需要存储数据但不允许使用数据库,则可以将其放入文本文件中。您甚至可以加密数据以使其更“安全”。
如果您只需要按用户会话保存数据,那么首次运行应用程序时包含您的用户的类是空的并不重要。事实上,它使事情变得更容易,因为第一次运行应用程序时,您知道您的用户类将为空。
我建议你有一个包含List<UserClass> usersList
的登录表单。当您的用户单击登录时,首先检查列表是否包含任何条目:
if(usersList.Any()) { ... }
如果列表中没有值,则显示表单以创建新用户。当您在创建用户表单中验证值时,将UserClass
的新实例添加到列表中,并显示登录表单,无论可能是什么。
我还建议您阅读有关.NET和C#的许多入门教程之一,因为这可能不是提出这些基本问题的正确位置:)