2012-04-11 20 views
18

मेरे पास मेरे विंडोज़ एप्लिकेशन में एक टेक्स्टबॉक्स है। यह केवल अक्षर और अंक की अनुमति देता है। मैं चाहता हूं कि जब भी मैं कोई वर्णमाला टाइप करूं, इसे अपरकेस में परिवर्तित किया जाना चाहिए। मैं यह कैसे कर सकता हूं और किस घटना में? मैंने str.ToUpper() का उपयोग किया है लेकिन कर्सर स्ट्रिंग की शुरुआत में स्थानांतरित हो रहा है। कृपया मुझे समाधान दें।विंडोज़ टेक्स्टबॉक्स में स्ट्रिंग से अपरकेस को कैसे परिवर्तित करें?

उत्तर

52

तुम बस संपत्ति CharacterChasing बदलने की जरूरत है Upper पर।

textBox1.CharacterCasing = CharacterCasing.Upper 
+2

+1, यह अधिक उपयुक्त है। – ABH

+1

@ फेरहाद बहुत बहुत धन्यवाद। – Sukanya

7

आप वापस पाठ बॉक्स को ToUpper के परिणामों आवंटित करने के लिए की जरूरत है:

txtBox.Text = txtBox.Text.ToUpper(); 

वैकल्पिक रूप से, Upper के पाठ बॉक्स के CharacterCasing गुण सेट:

txtBox.CharacterCasing = CharacterCasing.Upper; 
+0

नहीं, कुंजी दबाने या keydown या KeyUp घटना में ऐसा करने से पाठ बॉक्स में शून्य की स्थिति में मैं अपने सवाल में उल्लिखित पर कर्सर बदलाव। – Sukanya

+0

@ सुकन्या - दरअसल। यही कारण है कि आपको उन ईवेंट हैंडलर पर ऐसा नहीं करना चाहिए।आप इसे 'लॉस्टफोकस' ईवेंट हैंडलर पर कर सकते हैं, लेकिन सावधान रहने की आवश्यकता है, लेकिन बेहतर तरीका है 'कैरेक्टर कैसिंग' प्रॉपर्टी को सेट करना। – Oded

2

कोशिश कुंजी दबाने घटना उपयोग करने के लिए और हैंडलर निम्न के समान होना चाहिए;

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
     { 
      e.KeyChar= (e.KeyChar.ToString()).ToUpper().ToCharArray()[0]; 
     } 
0

शायद आपको ईवेंट का उपयोग करना चाहिए: TextBox1_EditValueChanging।

यदि प्रत्येक बार कर्सर पहली स्थिति में चलता है, तो आप अपने txt में वर्णों की संख्या की गणना कर सकते हैं और अंतिम charachter के बाद कर्सर को स्थानांतरित कर सकते हैं।

0
private void mytextbox_KeyPress(object sender, KeyPressEventArgs e) 

{ 

e.KeyChar = Char.ToUpper(e.KeyChar); 

} 
+0

यह केवल पढ़ा जाता है। – Tommix

1

टेक्स्टबॉक्स के गुणों में बस चरम पर कैरेक्टरकिंग सेट करें। यह सभी दर्ज वर्ण को अपरकेस में परिवर्तित कर देगा।

0
  1. TxtInput // यह पाठ बॉक्स उपयोगकर्ता इनपुट
  2. LblLengthstrong // लेबल लंबाई दिखाने के लिए है
  3. LblUpper // लेबल है कि यह अपरकेस में पता चलता
  4. LblLower // लेबल है कि यह लोअरकेस
  5. में से पता चलता
  6. LblRight // लेबल पता चलता है कि अंतिम 3 अक्षरों
  7. LblSubscript // लेबल है कि 3
के माध्यम से पात्रों 1 से पता चलता चलता 210

// सभी पात्रों के शो लंबाई

private void BtnLength_Click(object sender, EventArgs e) 
     { 
      LblLength.Text = TxtInput.Text.Length.ToString(); 
     } 

inputed // वर्णों के लिए बनाने के ऊपरी

private void btnUpper_Click(object sender, EventArgs e) 
     { 
      LblUpper.Text = TxtInput.Text.ToUpper(); 
     } 

// वर्ण लोअरकेस बनाने

private void BtnLower_Click(object sender, EventArgs e) 
     { 
      LblLower.Text = TxtInput.Text.ToLower(); 
     } 

// शो अंतिम 3 अक्षरों

private void BtnRight_Click(object sender, EventArgs e) 
     { 
      LblRight.Text = TxtInput.Text.Substring(TxtInput.Text.Length - 3); 
     } 

स्थिति 1 में // शो पात्रों 3

private void BtnSubscript_Click(object sender, EventArgs e) 
     { 
      LblSubscript.Text = TxtInput.Text.Substring(1, 3); 
     } 

// ASCII के माध्यम से

private void BtnGo_Click(object sender, EventArgs e) 
     { 
      string name; 
      int letter; 

      name = TxtInput.Text; 

      for (int index = 0; index < name.Length; index++) 
      { 
       letter = name[index]; 
       MessageBox.Show(letter.ToString()); 
      } 
     } 

// पासवर्ड

 int InNumTry = 0; 
    private void BtnGo_Click_1(object sender, EventArgs e) 
    { 
     string password; 
     password = TxtIn.Text; 

      switch (password) 
      { 
       case " ": MessageBox.Show("Passowrd is empty."); 
        break; 

       case "MIKE": MessageBox.Show("Password is OK!"); 
        FrmBOO newForm = new FrmBOO(); 
        newForm.Show(); 
        break; 

       default: 
        InNumTry++; 
        MessageBox.Show("Invalid Passwrod, try again!"); 
        TxtIn.Text = ""; 
        TxtIn.Focus(); 
        break; 
      } 

      if (InNumTry >= 3) 
      { 
       MessageBox.Show("You have tried too many times, have a good day."); 
       TxtIn.Enabled = false; 
      } 
     } 

// टाइमर (घड़ी में इस के तहत कोड जोड़ (timer1.Start (जोड़ने) जोड़ें जोड़ा जा रहा है; शुरुआत के रूप में)

private void timer1_Tick(object sender, EventArgs e) 
     { 
      DateTime datetime = DateTime.Now; 
      this.LblTime.Text = datetime.ToString(); 
     } 
+3

प्रतिक्रिया बहुत लंबी है और पूछने वाले लड़के को भ्रमित कर सकती है। प्रश्न वास्तव में स्पष्ट है और केवल घटना को संभालने का अनुरोध करता है। – innoSPG

+1

आलसी लोग इसके माध्यम से भी पढ़ नहीं पाएंगे। – C4u

0

सही डिज़ाइनर में टेक्स्टबॉक्स पर क्लिक करें, गुण के तहत अपर को CharacterCasing बदल जाते हैं।

7

पहिया को फिर से शुरू करने के लिए, बस टेक्स्ट बॉक्स की 'कैरेक्टर कैसिंग' संपत्ति 'ऊपरी' पर सेट करें। आपको कोई कोड लिखने की आवश्यकता नहीं है।

Make letters in textBox uppercase

नकाबपोश पाठ बॉक्स के मामले में, आप उपयोग कर सकते हैं '>' (मुखौटा संपत्ति में) अपरकेस निम्न वर्णों बनाने के लिए। जैसे लंबाई आठ के इनपुट अल्फान्यूमेरिक स्ट्रिंग (ए-जेड, 0-9) के लिए, मास्क '> एएएएएएएएएए' का उपयोग करें। केवल अक्षरों (ए-जेड) तक सीमित करने के लिए, '> एलएलएलएलएलएलएल' का उपयोग करें।

Make letters in maskedTextBox uppercase

+0

यह सबसे अच्छा तरीका है ... चेयर !!! –

+0

यह स्वीकार्य उत्तर होना चाहिए! – henrikmerlander

+0

यह सबसे अच्छा जवाब होना चाहिए! – Jim

संबंधित मुद्दे