从 bool 方法传递新值字符串
本文关键字:新值 字符串 bool 方法 | 更新日期: 2023-09-27 18:33:25
我想确定用户在注册时是否单击了管理员或用户单选按钮。我想我应该把它附加到名称和密码所在的文本文件的行尾,但我该怎么做?以下是相关代码:
单选按钮检查
public bool radioButtons()
{
string usertypebutton;
if (!userButton.Checked && !adminButton.Checked)
{
MessageBox.Show("You must select an account type");
return false;
}
else
{
if (userButton.Checked)
{
usertypebutton = "User";
}
else
{
usertypebutton = "Admin";
}
return true;
}
}
用于注册的流编写器:
public void mySW()
{
string path = @"C:'Other'myFile.txt";
string userName = userNameBox.Text;
string password = passwordBox.Text;
string usertype = usertypebutton;
using (StreamWriter writer = new StreamWriter(path, true))
{
writer.WriteLine("Username: {0} Password: {1} Type: {3}" , userName, password, usertype);
// No need to close nor dispose your StreamWriter.
// You're inside a using statement for that!
}
MessageBox.Show("Thanks for registering! 'n'nYou may now log in!", "Registration SuccessFul");
Application.OpenForms[0].Show();
this.Close();
}
登录:
private void logonButton_Click(object sender, EventArgs e)
{
// Loads your users storage
var users = File.ReadAllLines(@"C:'Other'myFile.txt");
// Creates the line with username + password
var usernamePassword = String.Format("Username: {0} Password: {1}", userNameBox.Text, passwordBox.Text);
// Locates the user on your storage
var userFound = users.SingleOrDefault(_u => _u.Equals(usernamePassword));
if (userFound != null)
{
MessageBox.Show("Welcome back, " + userNameBox.Text);
}
else
{
MessageBox.Show("Sorry, you have entered incorrect details'n'nPlease try again");
userNameBox.Text = "";
passwordBox.Text = "";
}
}
所以(我认为)本质上我想将值用户类型按钮从单选按钮方法传递给软件。我该怎么做,因为我已经在传递一个布尔值?
安东尼
如果两个复选框均未选中,我会将返回类型更改为字符串并返回字符串"ERROR"。在mySW()中,我会在打开StreamWriter之前检查是否返回了"ERROR",以及它是否只是退出函数,以便什么都不做。
不要在任何地方写未加密的纯文本密码。 这是非常不安全的,如果你被黑客入侵,可能会给你带来很多麻烦。 您确实需要在任何其他事情之前四处寻找您信任的密码加密策略。
至于您的实际问题,您已经有:
writer.WriteLine("Username: {0} Password: {1} Type: {3}" , userName, password, usertype);
只需将其更改为接受所选单选按钮的字符串值,您就可以写出管理员或用户。