/ / नियंत्रण पर ईवेंट जोड़ें - मैं खुद को कंट्रोल को कैसे संदर्भित कर सकता हूं - vb.net, winforms

नियंत्रण पर घटना जोड़ें - मैं खुद को नियंत्रण कैसे देख सकता हूं - vb.net, winforms

मैं अपने कई टेक्स्टबॉक्स पर एक ही घटना जोड़ना चाहता हूं। उदाहरण के लिए कहते हैं, मैं चाहता हूं कि मेरे सभी टेक्स्टबॉक्स स्वयं के टेक्स्ट मूल्य को ट्रिम कर दें जब उसने फोकस खो दिया हो

मेरा विचार सभी टेक्स्टबॉक्स के माध्यम से लूप करना है औरयह सब करने के लिए एक घटना हैंडलर जोड़ने के लिए, लेकिन मैं स्वयं टेक्स्टबॉक्स को कैसे संदर्भित करूंगा, मुझे लगता है कि यह "यह" कीवर्ड का उपयोग करने के समान है, लेकिन यह vb.net में उपलब्ध नहीं है - कोई अन्य सिफारिशें?

उत्तर:

उत्तर № 1 के लिए 1

तत्व को प्राप्त करने के लिए जो घटना को ट्रिगर करता है आप का उपयोग कर सकते हैं sender घटना के पैरामीटर और आवश्यक प्रकार के लिए इसे कास्ट करें। यह इस सवाल से स्पष्ट नहीं है कि आप किस प्लेटफ़ॉर्म का उपयोग कर रहे हैं, लेकिन नीचे विंडोज फॉर्म का नमूना कोड है:

Private Sub txt1_TextChanged(sender As Object, e As EventArgs) Handles txt1.TextChanged
Dim currentTextbox as TextBox = CType(sender, TextBox)
" Do what you want with the textbox
End Sub

इसी तरह के सिद्धांतों को वेब फॉर्म या WPF पर भी लागू होना चाहिए।


उत्तर № 2 के लिए 1

सभी टेक्स्टबॉक्स के माध्यम से सभी टेक्स्टबॉक्स के लिए हैंडल का उपयोग करें

Private Sub TextBox1_LostFocus(sender As Object, e As EventArgs) _
Handles TextBox1.LostFocus, TextBox2.LostFocus
Dim txtBox As TextBox = sender
txtBox.Text = Strings.Trim(txtBox.Text)
End Sub