-2

我需要创建一个字符串/整数,它将包含来自 texbox 的文本。它必须是稳定的,编辑此文本框后无法更改此字符串/整数。有什么解决办法吗?阻止文本框或类似的东西:

string x = textBox1.Text;

不满足我

编辑; 我得到了这个:字符串 x = textBox1.Text; 所以每次都会从 textBox1 接收值,并且可以更改文本框的值

4

2 回答 2

0

如果您想要一个始终包含文本框中当前文本的变量,这里有几个选项。

第一个选项是...不,并且始终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;
}

虽然这可能在技术上最接近您的要求,但我也不建议这样做。它不会比使用属性获得任何好处,并且设置该字符串的值不会设置文本框的值。

于 2012-11-15T18:47:36.443 回答
0

目前还不清楚你想要什么,所以这是我的猜测:

您不希望TextBox可编辑...

TextBox两个属性可以帮助您:

EnabledReadOnly

如果设置Enabled为 false,则TextBox将变灰,用户将无法再更改文本。

如果设置ReadOnly为 true,TextBox 将不会灰显,但用户将无法更改文本。

于 2012-11-15T18:59:27.177 回答