Make TextBox uneditable
I want to make some TextBox
es on my form uneditable, but I want the text
to be clear (black not gray) and that's why I do not want to use
myTextBox.Enabled = false;
Somehow I want it to be disabled but with non-gray fore-color.
Does anyone have any clue?
Solution 1:
Using the TextBox.ReadOnly
property
TextBox.ReadOnly = true;
For a Non-Grey background you can change the TextBox.BackColor
property to SystemColors.Window
Color
textBox.BackColor = System.Drawing.SystemColors.Window;
When this property is set to true, the contents of the control cannot be changed by the user at runtime. With this property set to true, you can still set the value of the Text property in code. You can use this feature instead of disabling the control with the Enabled property to allow the contents to be copied and ToolTips to be shown.
Solution 2:
Use the ReadOnly property on the TextBox.
myTextBox.ReadOnly = true;
But Remember: TextBoxBase.ReadOnly Property
When this property is set to true, the contents of the control cannot be changed by the user at runtime. With this property set to true, you can still set the value of the Text property in code. You can use this feature instead of disabling the control with the Enabled property to allow the contents to be copied and ToolTips to be shown.
Solution 3:
You can try using:
textBox.ReadOnly = true;
textBox.BackColor = System.Drawing.SystemColors.Window;
The last line is only neccessary if you want a non-grey background color.