c#文本框文本转换为实体值

c#文本框文本转换为实体值,c#,textbox,C#,Textbox,我需要创建一个字符串/int,它将包含来自texbox的文本。它必须是稳定的,编辑此文本框后无法更改此字符串/int。 有解决办法吗? 阻止文本框或类似内容: string x = textBox1.Text; 别让我满意 编辑; 我明白了: 字符串x=textBox1.Text; 因此,每次都将从textbox 1接收值,并且可以更改textbox的值如果您希望在textbox中有一个始终包含当前文本的变量,这里有一些选项 第一个选项是…不,并在任何时候访问文本时始终使用textbox1.T

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

string x = textBox1.Text;
别让我满意

编辑; 我明白了: 字符串x=textBox1.Text;
因此,每次都将从textbox 1接收值,并且可以更改textbox的值

如果您希望在textbox中有一个始终包含当前文本的变量,这里有一些选项

第一个选项是…不,并在任何时候访问文本时始终使用
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
有两个属性可以帮助您:

已启用
只读

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


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

您的意思是什么?不能更改?我不明白您所说的“它必须稳定”和“阻止文本框”是什么意思。你只想禁用文本框
吗?
?你能提供一些关于你的问题的更多信息吗?我得到了这个:string x=textBox1.Text;因此,每次都会从textbox 1接收值,并且textbox的值可以更改。在进行赋值时,变量的值独立于textbox的Text属性的值。字符串数据类型是不可变的,因此您是安全的:赋值后更改文本框的内容不会更改变量的值。你不需要做任何事情来达到预期的结果。我认为他的意思正好相反:如何防止更新发生。请看我对OP的评论。只是猜测而已。他所做的陈述既暗示他想要这个,也暗示他想要相反的东西。既然他已经拥有的代码正好相反,我想这不是他想要的。如果这是他想要的,那么他已经有了代码。不管怎样,加上这个答案,他现在有了两个解决方案,而不是一个。他的编辑说,
“文本框的值可以在注释中建议时更改”
,所以这似乎不是他想要的。@Servy和稍早他写的“任何解决方案?阻止文本框或类似的东西”。。。所以我猜仍然可以改变的文本框是他的问题。。。但如果我完全错了,那也不是第一次了;)。。。问题一点也不清楚