TextBox event for only user input

前端 未结 5 922
南旧
南旧 2021-01-12 06:46

I have a Textbox control which sometimes updated programmatically and also can be update by the user. How can I distinct between those two event? I\'d like to have a "D

相关标签:
5条回答
  • 2021-01-12 06:56

    Check Modified property of TextBox on the TextChanged event. If true, the changes were made by user, otherwise the text was changed programmatically.

    Example:

    void Texbox_TextChanged(object sender, EventArgs e)
    {
        if (((TextBox)sender).Modified)
            TextboxUserInput();
    }
    
    0 讨论(0)
  • 2021-01-12 07:02

    You can use the Key Down event of the text box.

      private void textBox1_KeyDown(object sender, KeyEventArgs e)
      {
          // Insert the code you want to run when the text changes here!
      }
    
    0 讨论(0)
  • 2021-01-12 07:05

    avoid setting the "dirty" flag when done programmatically. Disable the event handler or set a flag that says "this is code, not the user"

    0 讨论(0)
  • 2021-01-12 07:12

    try onBlur

    this will catch the moment the user leaves the field.

    You can work it up in conjunction with onFocus to save the value before editing

    0 讨论(0)
  • 2021-01-12 07:14

    my solution work for type , copy and paste

        private void TextChanged(object sender, EventArgs e)
        {
            if (((TextBox)sender).ContainsFocus)
            {
    
            }
        }
    
    0 讨论(0)
提交回复
热议问题