2015-05-03 55 views
-1

大家好我現在正在嘗試在C#WinForms中運行一個IF語句,它檢查是否有兩個被屏蔽的文本框已經完成,並且在這種情況下,一個按鈕將出現給用戶。這是我的代碼:屏蔽的文本框C#Winforms空如果狀態不工作?

if (maskedTextBox1.MaskFull && maskedTextBox2.MaskFull) 
{ 
    button4.Visible = true; 
} 
else 
{ 
    button4.Visible = false; 
} 

當我運行我的應用程序的按鈕能見度仍然留下隱患,即使我的假面文本框已完成/填寫完整有誰知道這是爲什麼發生?

+0

你把if語句放在哪裏? –

+0

它在Initialize組件方法下,因爲我希望它在窗體啓動時運行,它看起來像這樣:InitializeComponent(); if(maskedTextBox1.MaskFull && maskedTextBox2.MaskFull) { button4.Visible = true; } – at541

+0

您需要將語句放在MaskedTextBox的TextChanged事件中,以便在用戶更改輸入文本時執行。 –

回答

0

首先,您的條件可以縮短很多:button4.Visible = (maskedTextBox1.MaskFull && maskedTextBox2.MaskFull);
二,你確定你需要MaskFull而不是MaskCompleted

+0

好吧,我只是把IF語句放入一個像mehrzad這樣的掩碼文本框中,但是當我現在運行我的應用程序時,按鈕會在窗體加載時出現,但當任何內容寫入掩碼文本框時會消失。我的代碼現在看起來像這樣:private void maskedTextBox1_TextChanged(object sender,EventArgs e) if(maskedTextBox1.MaskCompleted && maskedTextBox2.MaskCompleted) { button4.Visible = true; } else { button4.Visible = false; } } – at541

+0

如果您不希望在窗體加載時顯示按鈕,則可以在設計器中將可見性設置爲false。 –

+0

對不起,我的意思是「像mehzad掩蓋的文本框文本更改事件建議」 – at541