user2500796
user2500796

Reputation: 117

Mask edit text box focus

I am using mask edit TextBox.The textbox always shows 0 (zero). I cannot type any key from the keyboard. I need to delete the zero first then I can type digits. Therefore I am doing extra steps here. Is it possible to type as soon as I type from the keyboard? Any suggestion is welcome.

private void DateDay_GotFocus(object sender, RoutedEventArgs e)
{
    if (((TextBox)sender).Text == "Day")
        ((TextBox)sender).Text = string.Empty;
}

private void DateDay_LostFocus(object sender, RoutedEventArgs e)
{
    if (((TextBox)sender).Text == string.Empty)
        ((TextBox)sender).Text = "Day";
    else
        CheckForCorrectDateDay((TextBox)sender);
}

I have tried with Focus event but not successful:

enter image description here

Upvotes: 0

Views: 1865

Answers (2)

cycoder
cycoder

Reputation: 26

Alternate solution for MaskedTextBox using the Enter Event

    private void maskedEdit_Enter(object sender, EventArgs e)
    {
        MaskedTextBox maskedTextBox = (MaskedTextBox)sender;
        maskedTextBox.BeginInvoke
        (new Action
            (() =>
                {
                    maskedTextBox.SelectAll();
                }
            )
        );            
    }

Upvotes: 0

arifnpm
arifnpm

Reputation: 417

You need to select all content in the textbox in GotFocus event. For MaskedTextBox control it handle the selection internally after the focus event fire. So we need to do BeginInvoke to call the SelectAll() afterward.

private void DateDay_GotFocus(object sender, RoutedEventArgs e)
{
        this.BeginInvoke((MethodInvoker)delegate() {
            ((TextBox)sender).SelectAll();
        });  
}

This way you can start typing directly. You can't make the text null if null is not allowed.

WPF version:

private void TextBox_GotFocus(object sender, RoutedEventArgs e) {
    this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart)delegate() {
        ((TextBox)sender).SelectAll();
    });
}

Upvotes: 1

Related Questions