2013-01-15 29 views
13

टेक्स्टबॉक्स में मैं टेक्स्ट परिवर्तनों की निगरानी कर रहा हूं। मुझे कुछ सामान करने से पहले पाठ की जांच करनी होगी। लेकिन मैं इस समय केवल पुराने पाठ की जांच कर सकता हूं। मैं नया टेक्स्ट कैसे प्राप्त कर सकता हूं?TextChanged में नया टेक्स्ट कैसे प्राप्त करें?

private void textChanged(object sender, EventArgs e) 
{ 
    // need to check the new text 
} 

मैं जानता हूँ कि .नेट फ्रेमवर्क 4.5 नई TextChangedEventArgs वर्ग है, लेकिन मैं .NET फ्रेमवर्क 2.0 का उपयोग करना होगा।

private void textbox_KeyUp(object sender, KeyEventArgs e) 
{ 
    // Do whatever you need. 
} 

हो सकता है कि इन आप को प्राप्त आप जो खोज रहे हैं मदद कर सकते हैं:

+0

क्या आप वेब फॉर्म का उपयोग कर रहे हैं या फॉर्म जीत सकते हैं? – Stokedout

उत्तर

11

नई मूल्य

तुम बस TextBox की Text संपत्ति का उपयोग कर सकते हो रही है। इस घटना के एक से अधिक पाठ बॉक्स के लिए प्रयोग किया जाता है, तो आप पुराने मूल्य

हो रही sender पैरामीटर का उपयोग करें ताकि तरह, सही TextBox नियंत्रण प्राप्त करना चाहते हैं जाएगा ...

private void textChanged(object sender, EventArgs e) 
{ 
    TextBox textBox = sender as TextBox; 
    if(textBox != null) 
    { 
     string theText = textBox.Text; 
    } 
} 

पुराने मूल्य प्राप्त करने वाले लोगों के लिए, आपको स्वयं के पथ को रखने की आवश्यकता होगी। मैं प्रत्येक घटना के अंत में एक सरल चर है कि खाली के रूप में बाहर शुरू होता है, और परिवर्तन का सुझाव देते हैं:

string oldValue = ""; 
private void textChanged(object sender, EventArgs e) 
{ 
    TextBox textBox = sender as TextBox; 
    if(textBox != null) 
    { 
     string theText = textBox.Text; 

     // Do something with OLD value here. 

     // Finally, update the old value ready for next time. 
     oldValue = theText; 
    } 
} 

आप अपनी खुद की बॉक्सनियंत्रण कि से विरासत बना सकते हैं में निर्मित एक है, और यह अतिरिक्त कार्यक्षमता कहते हैं, यदि आप इसका बहुत उपयोग करने की योजना बना रहे हैं।

+5

मैं सिर्फ एक पल पहले कसम खाता हूं मैंने इस घटना में टेक्स्ट का पुराना संस्करण देखा है। घटना से पहले पाठ बदल गया है। तो सवाल अब अनावश्यक है। – Bitterblue

+2

इसके बजाय पुराना मूल्य कैसे प्राप्त करें? – Joel

1

उदाहरण के लिए इस तरह के textbox eventsKeyUp के रूप में, कुंजी दबाने आदि पर एक नज़र डालें।

0

पुराने .net fw 2.0 के साथ भी आपके पास अभी भी टेक्स्ट में नया और पुराना मान होना चाहिए यदि टेक्स्ट टेक्स्ट.टेक्स्ट प्रॉपर्टी में नहीं है क्योंकि ईवेंट को टेक्स्ट बदलते समय और बाद में निकाल दिया जाता है।

यदि आप टेक्स्ट बदल रहे हैं, तो आप सामान करना चाहते हैं तो फिर कुंजीपटल ईवेंट को फिर से बदल दें।

-1
private void stIDTextBox_TextChanged(object sender, EventArgs e) 
{   
    if (stIDTextBox.TextLength == 6) 
    { 
     studentId = stIDTextBox.Text; // Here studentId is a variable. 

     // this process is used to read textbox value automatically. 
     // In this case I can read textbox until the char or digit equal to 6. 
    } 
}