2017-01-18 72 views
-3

私は、ユーザー名用とパスワード用の2つのテキストボックスを持つログインフォームを持っています。TextBoxをPasswordBoxとして使用します。 WPF c#

私はパスワード入力にテキストボックスを使用しましたが、文字を表示するのではなく、(*)記号またはパスワードドットを表示するように文字をマスクしたいと思います。

テキストボックスをパスワードボックスに変更することはできません。これはエラーを投げるためです。

私はPasswordBoxを使用して、代わりに周りの仕事を考え出すのもので動作するようにコードを書き換えることをお勧めのC#、WPFフォーム

+0

あなたがに実行しているか、エラー説明することができますか? –

+0

解決策があるようですが(http://stackoverflow.com/a/6629237/1132334)、パスワードボックスを使用するよりもはるかに複雑に見えます。その代わりに "エラーのプール"を整理する価値があるでしょうか? 'TextBox'から継承しない' PasswordBox'と何か関係がありますか? – dlatikay

+0

@dlatikayたとえば、SQLデータベースを使用してユーザーのログイン情報を取得しています。しかし、 "passwordBox.Text"を使用してパスワードボックスから入力を取得すると、エラーが発生します。 – Rogan

答えて

4

を使用します。私はあなたがどんなエラーを受け取っているのか正確には分かっていませんが、PasswordBoxの値をTextBoxから値/テキストを取得するのとほぼ同じ方法で得ることができます。

のTextBox:

TextBox1.Text 

PasswordBox:

PasswordBox1.Password 
PasswordBox1.SecurePassword 
0

は、XAMLファイル内

、これを試してください: -

<TextBlock Height="20" HorizontalAlignment="Right" x:Name ="Pwderrormessage" VerticalAlignment="Top" Width="156" Margin="0,347,60,0" OpacityMask="Crimson" Foreground="#FFE5572C" /> 
 

 
    <Label HorizontalContentAlignment="Left" Content="Password:" Foreground="White" TextBlock.FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="230,340,0,0" Height="30" Width="84"/> 
 
       <StackPanel Height="23" Width="200" Margin="126,170,0,0"> 
 
        <PasswordBox x:Name="txtpwd" PasswordChar="*" Height="23" Width="200"/> 
 
        </StackPanel>

コードビハインドページ。ボタンのクリックで

if (txtpwd.Password.Length == 0) 
      { 
       Pwderrormessage.Text = "Enter a Password."; 
       txtpwd.Focus(); 
      } 

      else 
      { 
       /*Save you data*/ 
      } 

おかげで、 Abhilash.J.A

関連する問題