2016-10-18 6 views
1

Hey Leute ich versuche, zwei Textfelder automatisch zu vergleichen, wenn der Benutzer Daten eingibt. Das erste Textfeld erhält seinen Wert aus 2 Kombinationsfeldern, in denen Sie% auswählen und dieses Textfeld berechnet. Die andere Textbox ist die gleiche und diese kann nicht größer als die vorherige Textbox sein. Das ist, woran ich arbeite, aber es funktioniert nur, wenn Sie die Daten mit der Tastatur eingeben, die ich nicht bin.Automatisch zwei Textfelder Wert vergleichen, keine Schaltfläche

+2

'KeyUp' kann dann nicht das richtige Ereignis sein. vielleicht ['TextChanged'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.control.textchanged (v = vs.110) .aspx)? –

+0

Können Sie nicht zwei Werte vergleichen, an denen Sie berechnen? Nachdem Sie die Eigenschaft .Text festgelegt haben, setzen Sie bcolor immediately? – Berkay

Antwort

1

Sie sollten die Vergleichsfunktion verwenden und sie im Ereignishandler "Text Changed" beider Textfelder aufrufen. Sie können folgende Comapare Funktion erstellen:

private void Compare() 
{ 
    Color cBackColor = Color.Red; 
    if (tbRegPersPlacÅrArb.Text == Kvarattfördela.Text) 
    { 
     cBackColor = Color.Green; 
    } 
    tbRegPersPlacÅrArb.BackColor = cBackColor; 
    Kvarattfördela.BackColor = cBackColor; 
} 

und es in den Event-Handler der beiden Textfelder Textchanged nennen.

private void tbRegPersPlacÅrArb_TextChanged(object sender, EventArgs e) 
    { 
     Compare(); 
    } 
private void Kvarattfördela_TextChanged(object sender, EventArgs e) 
    { 
     Compare(); 
    } 

Dies sollte helfen.

Verwandte Themen