수색…


문자열 모음에서 자동 완료

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();

동일한 원리를 적용하면 SelectionStart0 으로 설정하여 위쪽으로 스크롤하거나 특정 숫자로 이동하여 특정 문자로 이동할 수 있습니다.

텍스트 상자에 자리 표시 자 추가

이 코드는 힌트 텍스트를 양식로드에 배치하고 다음과 같이 조작합니다.

기음#

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