2009-02-20 11 views

उत्तर

95
private void NumericUpDown1_Enter(object sender, EventArgs e) 
{ 
    NumericUpDown1.Select(0, NumericUpDown1.Text.Length); 
} 

(ध्यान दें कि पाठ संपत्ति Intellisense में छिपा हुआ है, लेकिन यह नहीं है)

+10

@ जोन: डर्न इंटेलिजेंस: -/टेक्स्ट प्रॉपर्टी के साथ अच्छी कॉल में मदद करता है। –

+5

मैं फॉर्म निर्माण के दौरान ऐसा करने की कोशिश कर रहा था (एक विशिष्ट न्यूमेरिकअपडाउन पर ध्यान केंद्रित करें और इसके सभी टेक्स्ट का चयन करें)। मुझे 'सिलेक्ट()' और 'चुनें (0, न्यूमेरिकअपडाउन 1.Text.Length);', फोकस सेट करने वाला पहला और पाठ का चयन करने के लिए दूसरा कॉल करना था। तो, यहां आने वाले किसी और के लिए एक नोट जो मैं कर रहा था, करने का एक तरीका ढूंढ रहा हूं: आपको उन दोनों कॉलों को परिणाम प्राप्त करने के लिए करना होगा, भले ही दोनों को एक ही चीज़ नाम दिया गया हो (मैंने कॉल की अपेक्षा रखी 'चयन (शुरू करें, लंबाई) 'पर ध्यान केंद्रित करने के लिए' चयन()' किया गया था) –

+0

"यदि आप टैब कुंजी का उपयोग कर नियंत्रण पर ध्यान केंद्रित करते हैं, तो यह कोड ठीक होगा लेकिन यदि आप इसे क्लिक के साथ केंद्रित करते हैं, हालांकि यह विधि के माध्यम से गुजरता है, यह पाठ का चयन नहीं करेगा। मेरा अनुमान है कि इस कोड को कुछ आंतरिक ढांचे कोड से पहले बुलाया जाता है जो कर्सर को चयन को रीसेट कर देता है। इसे बाईपास करने के लिए आप क्लिक कोड हैंडलर में यह कोड डाल सकते हैं " 'n0n4m3' http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/28354bc2-3903-4be4-9c2c-3249319b59fd – PUG

2

मैं यह पूरा करने के एक विस्तार विधि बनाया:

वीबी:

<Extension()> 
Public Sub SelectAll(myNumericUpDown As NumericUpDown) 
    myNumericUpDown.Select(0, myNumericUpDown.Text.Length) 
End Sub 

सी #:

public static void SelectAll(this NumericUpDown numericUpDown) 
    numericUpDown.Select(0, myNumericUpDown.Text.Length) 
End Sub 
-1

प्रयास करें

myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length); 
+0

क्या आप कोई स्पष्टीकरण जोड़ सकते हैं कि यह क्यों काम करता है, इसके विभिन्न टुकड़े क्या करते हैं? –

+0

यदि आपके पास दशमलव स्थान हैं और कोई अंश नहीं है (उदा: 99.00) मान वैल्यू 99 होगा तो मूल्य की लंबाई 2 – Ahmed

4

मैं चारों ओर देख रहा था मैं एक ही मुद्दा था और यह मेरे लिए काम करता है, पहला आइटम चुनें और दूसरा एक पाठ का चयन करता है, आशा है कि यह भविष्य

myNumericUpDown.Select(); 
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length); 
+0

होगी, इससे पहले कि मुझे एहसास हुआ कि NumericUpDown.Text मौजूद है, आप इसे दिखाने के लिए इंटेलिसेन्स नहीं प्राप्त करेंगे, आप इसे टेक्स्ट एलाइन पर स्वत: पूर्ण करने की कोशिश भी कर सकते हैं। "पाठ को न्यूमेरिक अपडाउन नियंत्रण की उपस्थिति पर कोई प्रभाव नहीं पड़ता है, इसलिए, यह डिजाइनर और इंटेलिसेन्स से छिपा हुआ है।" - माइक्रोसॉफ्ट I ने भी मूल्यों में प्रवेश करने का परीक्षण किया। टेक्स्ट इंटरफ़ेस क्योंकि ऑटिज़्म और यह अपेक्षा के अनुसार काम करता है, गैर संख्यात्मक मानों के लिए अपवाद फेंक देता है और यदि आप उन्हें पार करते हैं तो अधिकतम और न्यूनतम मानों के साथ जो भी दर्ज करते हैं उसे बदलते हैं। – user2163234

7

मैं चाहता था में मदद करता है भविष्य में उन लोगों के लिए इसे जोड़ने के लिए जो टैब और क्लिक की तलाश में हैं।

जॉन बी जवाब टैब के लिए एकदम सही काम करता है, लेकिन मैं

नीचे क्लिक में पाठ अगर आप टैब का चयन करें या में क्लिक करेंगे शामिल करने के लिए संशोधित करने के लिए की जरूरत है। आप क्लिक करते हैं और आप बॉक्स में प्रवेश तो यह पाठ का चयन करेंगे । यदि आप पहले से ही बॉक्स पर ध्यान केंद्रित कर चुके हैं तो क्लिक सामान्य रूप से करता है जो करता है।

bool selectByMouse = false; 

    private void quickBoxs_Enter(object sender, EventArgs e) 
    { 
     NumericUpDown curBox = sender as NumericUpDown; 
     curBox.Select(); 
     curBox.Select(0, curBox.Text.Length); 
     if (MouseButtons == MouseButtons.Left) 
     { 
      selectByMouse = true; 
     } 
    } 

    private void quickBoxs_MouseDown(object sender, MouseEventArgs e) 
    { 
     NumericUpDown curBox = sender as NumericUpDown; 
     if (selectByMouse) 
     { 
      curBox.Select(0, curBox.Text.Length); 
      selectByMouse = false; 
     } 
    } 

आप इसे एकाधिक संख्यात्मक अपडाउन नियंत्रणों के लिए उपयोग कर सकते हैं। बस एंटर और माउसडाउन घटनाओं को सेट करने की आवश्यकता है

-1

मेरे पास एकाधिक संख्यात्मक बॉक्स था और यह सब कुछ हासिल करना चाहता था। मैं बनाया:

private void num_Enter(object sender, EventArgs e) 
{ 
    NumericUpDown box = sender as NumericUpDown; 
    box.Select(); 
    box.Select(0, num_Shortage.Value.ToString().Length); 
} 

फिर प्रत्येक बॉक्स के लिए दर्ज करें घटना के साथ इस समारोह (जो मैं नहीं किया) जोड़ कर, मेरा लक्ष्य हासिल किया गया। मुझे शुरुआत करने के लिए थोड़ी देर लग गई क्योंकि मैं एक नौसिखिया हूं। उम्मीद है कि यह किसी और को

+0

यह प्रभावी रूप से स्वीकार किए गए उत्तर –

+0

@AidanRyan का एक डुप्लिकेट है, क्योंकि यह उत्तर निश्चित ऑब्जेक्ट लक्ष्य के बजाय 'प्रेषक' का उपयोग करता है, यह स्वीकार्य उत्तर से तर्कसंगत रूप से बेहतर है। – bartonjs

+0

यह मूल प्रश्न और एक प्रश्न जो उत्तर नहीं दिया गया था, का उत्तर देता है। नियंत्रण में एक आम घटना को कैसे संभालना है, यह एक अलग चिंता है, भले ही आप सभी टेक्स्ट या किसी अन्य चीज को चुनने के बावजूद ईवेंट के साथ ऐसा करना चाहें। वास्तव में यह सिर्फ शोर जोड़ता है। –

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