programing

탭에서 Winforms NumericUpDown의 모든 텍스트를 선택하는 방법은 무엇입니까?

procenter 2021. 1. 17. 12:10
반응형

탭에서 Winforms NumericUpDown의 모든 텍스트를 선택하는 방법은 무엇입니까?


사용자가 내 탭으로 이동할 때 NumericUpDown모든 텍스트를 선택하고 싶습니다. 이것이 가능한가?


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

(텍스트 속성은 Intellisense에서 숨겨져 있지만 거기에 있습니다)


Tab and Click을 검색 한 미래의 사람들을 위해 여기에 추가하고 싶었습니다.

Jon B 답변은 탭에 완벽하게 작동하지만 클릭을 포함하도록 수정해야했습니다.

아래에서 탭 또는 클릭하면 텍스트가 선택됩니다. 클릭하고 상자를 입력하면 텍스트가 선택됩니다. 이미 상자에 초점을 맞추고있는 경우 클릭하면 정상적으로 수행됩니다.

    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;
        }
    }

여러 numericUpDown 컨트롤에 사용할 수 있습니다. Enter 및 MouseDown 이벤트를 설정하기 만하면됩니다.


나는 주위를 둘러보고 있었는데 같은 문제가 있었고 이것은 나를 위해 작동합니다. 먼저 항목을 선택하고 두 번째 항목은 텍스트를 선택합니다.

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

이 작업을 수행하기 위해 확장 메서드를 만들었습니다.

VB :

<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

나는 여러 개의 numericupdown 상자를 가지고 있었고 모두를 위해 이것을 달성하고 싶었습니다. 내가 만들었다:

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

그런 다음이 기능을 각 상자의 Enter Event와 연결하여 (내가하지 않은) 목표를 달성했습니다. 내가 초보자라는 것을 알아내는 데 시간이 걸렸습니다. 이것이 다른 사람에게 도움이되기를 바랍니다.


시험

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

참조 URL : https://stackoverflow.com/questions/571074/how-to-select-all-text-in-winforms-numericupdown-upon-tab-in

반응형