수색…
문자열 모음에서 자동 완료
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
속성을 true로 설정하는 것과 같은 방법을 사용하여 다른 조합을 사용할 수 있습니다.
사용자가 원하지 않는 문자를 복사 / 붙여 넣기 할 수 있으므로 TextChanged
에 추가 체크가 있어야 입력 내용이 정리됩니다.
textBox.TextChanged += (sender, e) => textBox.Text = Regex.Match(textBox.Text, @"\d+").Value
이 예제에서 정규식 은 텍스트를 필터링하는 데 사용됩니다.
가능한 경우 NumericUpDown 이 숫자에 우선해야합니다.
끝까지 스크롤하는 법
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