Welcome to WindowsClient.net | Sign in | Join

Here are some frequently asked questions about Windows Forms and their answers.

Windows Forms FAQs

How do I support an overwrite mode in a TextBox?

You can handle the textbox's KeyPress event and if you want the keypress to be an overwrite, just select the current character so the keypress will replace it. The attached sample has a derived textbox that has an OverWrite property and a right-click menu that allows you to toggle this property.

The snippet below shows you a KeyPress handler that automatically does an overwrite if the maxlength of the textbox has been hit. This does not require a derived class.

private void textBox1_KeyPress( object sender, KeyPressEventArgs e )
{
  if ( textBox1.Text.Length == textBox1.MaxLength &&
      textBox1.SelectedText == "" )
    textBox1.SelectionLength = 1;
}

Contributed from George Shepherd's Windows Forms FAQ