खोज…


ऑटो स्ट्रिंग्स के संग्रह से पूरा हो रहा है

var source = new AutoCompleteStringCollection();

// Add your collection of strings.
source.AddRange(new[] { "Guybrush Threepwood", "LeChuck" });

var textBox = new TextBox
{
    AutoCompleteCustomSource = source,
    AutoCompleteMode = AutoCompleteMode.SuggestAppend,
    AutoCompleteSource = AutoCompleteSource.CustomSource
};

form.Controls.Add(textBox);

यह स्वतः पूर्ण हो जाएगा क्योंकि उपयोगकर्ता G या L टाइप करने का प्रयास करता है।

AutoCompleteMode.SuggestAppend दोनों सुझाए गए मूल्यों की एक सूची प्रदर्शित करेगा और यह पहला मैच ऑटो टाइप करेगा, केवल Append और केवल Suggest उपलब्ध हैं, भी।

पाठ में केवल अंकों की अनुमति दें

textBox.KeyPress += (sender, e) => e.Handled = !char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar);

यह केवल TextBox में अंकों और नियंत्रण वर्णों के उपयोग की अनुमति देगा, अन्य संयोजनों को संभव है कि पाठ को अवरुद्ध करने के लिए Handle संपत्ति को सेट करने के लिए उसी दृष्टिकोण का उपयोग किया जाए।

उपयोगकर्ता अभी भी अवांछित वर्णों को कॉपी / पेस्ट कर सकता है इसलिए इनपुट को शुद्ध करने के लिए TextChanged पर एक अतिरिक्त चेक होना चाहिए:

textBox.TextChanged += (sender, e) => textBox.Text = Regex.Match(textBox.Text, @"\d+").Value

इस उदाहरण में पाठ को फ़िल्टर करने के लिए एक नियमित अभिव्यक्ति का उपयोग किया जाता है।

जब संभव हो तो नंबर के लिए न्यूमेरिकअपडाउन को प्राथमिकता दी जानी चाहिए।

अंत तक स्क्रॉल कैसे करें

textBox.SelectionStart = textBox.TextLength;
textBox.ScrollToCaret();

एक ही सिद्धांत को लागू करते हुए, किसी विशिष्ट वर्ण पर जाने के लिए SelectionStart को शीर्ष पर या किसी विशिष्ट संख्या पर स्क्रॉल करने के लिए 0 पर सेट किया जा सकता है।

प्लेसहोल्डर को टेक्स्टबॉक्स में जोड़ना

यह कोड हिंट टेक्स्ट को फॉर्म लोड पर रखता है और इसे निम्न प्रकार से हेरफेर करता है:

सी#

private void Form_load(object sender, EventArgs e)
{
    textBox.Text = "Place Holder text...";
}

private void textBox_Enter(object sender, EventArgs e)
{
    if(textBox.Text == "Place Holder text...")
    {
        textBox.Text = "";
    }
}

private void textBox_Leave(object sender, EventArgs e)
{
    if(textBox.Text.Trim() == "")
    {
        textBox.Text = "Place Holder text...";
    }
}

VB.NET

Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    textBox.Text = "Place Holder text..."
End Sub

Private Sub textBox_GotFocus(sender as Object,e as EventArgs) Handles textBox.GotFocus
    if Trim(textBox.Text) = "Place Holder text..." Then
        textBox.Text = ""
    End If
End Sub

Private Sub textBox_LostFocus(sender as Object,e as EventArgs) Handles textBox.LostFocus
    if Trim(textBox.Text) = "" Then
        textBox.Text = "Place Holder text..."
    End If
End Sub


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow