當我使用退格鍵刪除文本框中的數字時,我想保存該數字,以便將其與其他文本框中的其他數字進行比較。我怎麼做? 這就是我想要把它放在代碼:使用退格鍵刪除的號碼
List<TextBox> box1;
private void Form1_Load(object sender, EventArgs e)
{ box1 = this.Controls.OfType<TextBox>()
.Where(x => x.Name.StartsWith("textBox1")).ToList();
foreach (TextBox t in box1)
t.TextChanged += textBox_TC1;
}
private void textBox_TC1(object sender, EventArgs e)
{
TextBox textBox = (TextBox)sender;
if (textBox.Text.Length == 1 && allwhite == 0)
{
bool sameText = box1.Any(x => x.Text == textBox.Text &&
!x.Equals(textBox));
if (sameText)
textBox.BackColor = System.Drawing.Color.Red;
}
else if (textBox.Text.Length == 0)
{
textBox.BackColor = System.Drawing.Color.White;
}
}
我希望把我的新代碼「否則,如果(textBox.Text.Length == 0)」,因爲我只能刪除與退格文本在我的文本框和最大長度爲1. 當我退格的東西,我想比較這個數字與box1中的所有其他文本框,然後如果該數字等於只有一個其他文本框,它會使該其他文本框背白色。我不知道如何保存一個即將被刪除的號碼,所以如果你能幫助我,我會非常開心。
可以存儲先前值(作爲字段),當'TextChanged'是惜售你可以把以前的值,檢查是否有一個數量少,等等。或者您可以使用另一個事件(例如'KeyDown')來檢測按下Backspace時的時間。 – Sinatr
你想比較密碼什麼的? –
您應該使用'TextChanged'事件,並且在'TextChanged'結束時,您應該將當前值保存在您的'TextBox'的'Tag'屬性的某個位置,並在您想將其與其他值進行比較時使用它。除了'TextChanged'之外,您不應該使用任何事件,因爲用戶可以在不使用鍵盤的情況下刪除或粘貼值。 –