2016-05-16 5 views
-5

私はこのサイトとコーディングではとても新しいので、これが単純なものであれば謝ります。 私のメインフォームにボタンがあり、クリックすると、パスワードを要求する2番目のフォームが開きます。フォームを閉じる前にパスワードが正しいことを確認できるようにしたいのですが、間違っている場合はフォームを開いたままにして、ユーザーがもう一度やり直すことができるようにします。これは、私が始めたものです。その後パスワード入力を防止できないC#でフォームをクローズする

public partial class passwordEntry : Form 
    { 
     public passwordEntry() 
     { 
      InitializeComponent(); 
      passBox.Text = string.Empty; 
     } 

     private void passwordAccept_Click(object sender, EventArgs e) 
     { 
      string pass = passBox.Text; 

      if (pass.Equals("notmyrealpassword")) 
      { 
       MessageBox.Show("You entered the correct password!"); 
      } 

      else 
      { 
       MessageBox.Show("Incorrect password. Please try again."); 
      } 
     } 
    } 

、周りの検索をいくつかに基づいて、私は「偽のブールチェックを=;」を追加しましたメインの公衆電話の前に、 "check = true;"成功のメッセージボックス、および最後にこれに:

private void passEntry_FormClose(object sender FormClosingEventArgs e) 
    { 
     if (!check) 
     { 
      e.Cancel = true; 
     } 
    } 

エンド結果、Visual Studioは、私が原因

エラーCS1003構文エラーにそれをコンパイルせません、「」期待されます。

ヘルプ?

+1

これは、新人のミスです。そうすれば、その行に行方不明を与えることだけです。 " YouTubeでいくつかの基本的なデバッグビデオをチェックしてください。 –

答えて

4

あなたは、メソッドのパラメータの間「」置く必要があります:あなたはVSはあなたに問題が上だった行を示していたコンパイルエラーにダブルクリックした場合

private void passEntry_FormClose(object sender, FormClosingEventArgs e) // here "," after "sender" 
{ 
    if (!check) 
    { 
     e.Cancel = true; 
    } 
} 
+0

ありがとうございます。それは私のコンパイルエラーを解決しましたが、私はまだパスワード入力フォームが間違ったパスワードで閉じるのを防ぐことはできません。 – TheManofSpiel

+0

あなたのコードをデバッグし、チェック変数の値を参照してください、私は思う、あなたのコードが閉じることを防ぐために問題があると思います –

関連する問題