2016-03-26 19 views
0

içine bastırın. RichTextBox'u içeren bir winforms programım var. Kullanıcı, metni RichTextBox'a girer. Girdiyi textBox1.Text özelliği ile değil, klavyeden iletmek istiyorum, dizeyi doğrulayın ve sadece daha sonra RichTextBox'ta görüntüleyin. Kullanıcı, metinleri RichTextBox'a girmesine rağmen, RichTextBox'ın giriş metnini kullanıcı tarafından görüntülenmesini nasıl engelleyebilirim? RichTextBox seçili ve odaklanmış. Üzgünüm. Sadece sorunu basitleştirmek istedim ve bu yüzden 'un bir TextBox değil, bir RichTextBox olduğunu belirtmeyi ihmal ettim. Önerilen çözüm, RichTextBox tarafından doğal olarak desteklenmeyen PassowrdChar özelliğine dayandığından, bunun önemli olduğu ortaya çıkıyor. Bu şekilde kullanılmayan bir özellik için miras alınan bir sınıf yaratmak istemiyorum, sadece giriş zamanında kullanıcı girdisini göstermeyi bastırmak için.Girdinin ekranını TextBox

+0

Neden görüntülemek istemem dize? Bir şifre dizgisi gibi mi? – Ian

+0

TextBox'un [PasswordChar Özelliği] 'ni (https://msdn.microsoft.com/en-us/library/system.windows.forms.textbox.passwordchar (v = vs.110) .aspx) metni gizleyebilirsiniz. – kennyzx

+0

Sorunlarınızı çözdünüz mü? – TaW

cevap

0

Gerçekten de KeyDown olayını kullanabilirsiniz. Bunu yaparak, kullanıcı girdisini doğrulamak için bir yeteneğiniz vardır. Bunun üzerine

Tutorial

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
{ 
    // 
    // Detect the KeyEventArg's key enumerated constant. 
    // 
    if (e.KeyCode == Keys.Enter) 
    { 
    MessageBox.Show("You pressed enter! Good job!"); 
    } 
    else if (e.KeyCode == Keys.Escape) 
    { 
    MessageBox.Show("You pressed escape! What's wrong?"); 
    } 
} 

Eğer dize değişkeni kullanıcı girişi saklamak olayı aracılığıyla doğrulamak ve metin kutusuna ancak o zaman set değişken değeri zorunda söyledi.

0

Bunu kullanabilirsiniz: veya fare aracılığı takmadan kontrol etmek için sağ mouse tıklaması gibi fare olayları tedavi etmek istiyorum olmayabilir

private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    char c = e.KeyChar; 
    // .. 
    // handle the character as needed 
    // .. 

    e.Handled = true; // suppress the RTB from receiving it 
} 

Not ..