我需要创建一个字符串/整数,它将包含来自 texbox 的文本。它必须是稳定的,编辑此文本框后无法更改此字符串/整数。有什么解决办法吗?阻止文本框或类似的东西:
string x = textBox1.Text;
不满足我
编辑; 我得到了这个:字符串 x = textBox1.Text; 所以每次都会从 textBox1 接收值,并且可以更改文本框的值
如果您想要一个始终包含文本框中当前文本的变量,这里有几个选项。
第一个选项是...不,并且始终textbox1.Text
在您想要访问文本的任何时间使用,而不是使用变量代替它。
下一个选项是创建一个属性。它可能会使语法更好一点,而不会真正改变任何东西:
private string MyText
{
get
{
return textbox1.Text;
}
set
{
textbox1.Text = value;
}
}
然后你可以使用MyText
而不是textbox1.Text
. 它不会真正改变任何东西,但它可能会缩短语法。
最后一个选项是在文本框文本更改时更新一个字符串:
private string myText;
public Form1()
{
InitializeComponent();
textbox1.TextChanged += (_, args) => myText = textbox1.Text;
}
虽然这可能在技术上最接近您的要求,但我也不建议这样做。它不会比使用属性获得任何好处,并且设置该字符串的值不会设置文本框的值。
目前还不清楚你想要什么,所以这是我的猜测:
您不希望TextBox
可编辑...
有TextBox
两个属性可以帮助您:
Enabled
和ReadOnly
如果设置Enabled
为 false,则TextBox
将变灰,用户将无法再更改文本。
如果设置ReadOnly
为 true,TextBox 将不会灰显,但用户将无法更改文本。