winforms
पाठ बॉक्स
खोज…
ऑटो स्ट्रिंग्स के संग्रह से पूरा हो रहा है
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