如何更改密码

时间:2016-01-15 18:41:40

标签: c# xaml

我现在正在使用VisualStudio制作应用程序,并且我正在使用XAML和C#。 我正在创建一个应用程序,您可以通过单击按钮输入密码(仅限数字)。

如果您点击"按钮1" ,它会在标签中写下" 1" ,如果您然后点击"按钮2" ,它会添加" 2" ,使其" 12& #34; 总计。

如果输入正确的代码,例如&#34; 331122&#34;,,则必须按一个按钮,系统会弹出一条消息,说明它是正确的代码。< / p>

如果您失败,那么您将收到错误消息。

我还添加了一个&#34; clear&#34; 按钮,可以消除您输入的内容。到现在为止还挺好。现在我想添加一个新按钮,它会将您带到passwindow,您可以输入当前密码(这是默认密码:&#34; 331122&#34; )和一个新密码。

如果您在当前密码框中输入的密码与默认密码匹配,则如果您点击下面的按钮,您的默认密码将更改为您输入的新密码。

如果不正确,您会收到错误消息,说明其不正确。更改密码后,您应该可以在MainWindow应用中输入密码(通过单击按钮)。旧密码必须完全删除,您应该可以继续更改密码。

我坚持这个。

以下代码:

string defaultCode = "331122";

public MainWindow()           
{
    InitializeComponent();
}

//string defaultCode = "331122";

private void knop_1_Click(object sender, RoutedEventArgs e)
{
    label_Combinatie.Content += "1";
}

private void knop_2_Click(object sender, RoutedEventArgs e)
{
    label_Combinatie.Content += "2";
}

private void knop_3_Click(object sender, RoutedEventArgs e)
{
    label_Combinatie.Content += "3";
}

private void knop_klaar_Click(object sender, RoutedEventArgs e)
{
    if ((string)label_Combinatie.Content == defaultCode)
    {
        MessageBox.Show("Unlocked.");
    }
    else
    {
        MessageBox.Show("You've entered the wrong code. Please try again.");
    }
}

private void knop_reset_Click(object sender, RoutedEventArgs e)
{
    label_Combinatie.Content = "";
}

private void knop_verander_code_Click(object sender, RoutedEventArgs e)
{
    passwindow w = new passwindow();
    w.ShowDialog();
}

public passwindow w { get; set; }

private void button_changePw_Click(object sender, RoutedEventArgs e)
{
    string new_code;
    new_code = w.textBox_new_code.Text;
    defaultCode = w.textBox_current_code.Text;

    if (w.textBox_current_code.Text == defaultCode && w.textBox_new_code.Text == new_code)
    {
        defaultCode = "";
        new_code += defaultCode;
        new_code = "";
        MessageBox.Show("Password changed.");
    }
    else
    {
        MessageBox.Show("You've entered an incorrect code. Please try again.");
    }
}

有些代码是荷兰语,所以请允许我翻译它们。

  • &#34;的Knop&#34;意味着&#34;按钮&#34;。
  • &#34; Combinatie&#34; - &GT; &#34;结合&#34;
  • &#34; Klaar&#34; - &GT;&#34;完成&#34;
  • &#34; Verander&#34; - &GT; &#34;变更&#34;

1 个答案:

答案 0 :(得分:0)

我注意到您的代码中有两个问题可能会导致您的问题。

第一个:

private void knop_verander_code_Click(object sender, RoutedEventArgs e)
{
    passwindow w = new passwindow();
    w.ShowDialog();
}

public passwindow w { get; set; }

在方法knop_verander_code_Click中,您声明了一个局部变量w,而在您的类中,您声明了一个具有相同名称的属性 - 局部变量将隐藏该属性。

第二期:

defaultCode = "";
new_code += defaultCode;
new_code = "";

此处您基本上已清除defaultCode,不会向new_code添加任何内容,而且您也清除了new_code