我是c#中间的新人。
我有一个问题,我想更改文本框的文本但我没有发生我必须在论坛上看,但没有任何帮助我。欢迎您的帮助。
创建文本框:
TextBox _DysplayRulsR = new TextBox();
_DysplayRulsR.Text = "Hello message";
_DysplayRulsR.VerticalAlignment = VerticalAlignment.Top;
_DysplayRulsR.HorizontalAlignment = HorizontalAlignment.Center;
_DysplayRulsR.Background = Brushes.Transparent;
_DysplayRulsR.BorderBrush = Brushes.Transparent;
_DysplayRulsR.IsReadOnly = true;
_DysplayRulsR.Foreground = Brushes.White;
_DysplayRulsR.BorderThickness = new Thickness(0, 0, 0, 0);
_DysplayRulsR.Margin = new Thickness(0, 15, 0, 0);
_DysplayRulsR.Width = 900;
_DysplayRulsR.Height = 300;
_DysplayRulsR.FontSize = 30;
_DysplayRulsR.TextAlignment = TextAlignment.Center;
_ContentGrid.Children.Add(_DysplayRulsR);
_ContentGrid = Grid
方法更改文本框文本:
public static void UpdateRules(string status)
{
_DysplayRulsR.Text = "done";
}
标签显示方法并且使用得很好,但textbox_DysplayRuls的文本不想更改。
对不起我的大概英语,我真的不太适合翻译。
答案 0 :(得分:0)
您需要更改TextBox的Text
属性。
示例:
public static void UpdateRules(string status)
{
_TextRules.Text = "done";
}
但是,您确实在上面的初始化代码中显示了_DysplayRuls
作为TextBox的名称。确保在我的示例中将_TextRules
替换为您要更改的任何TextBox。
答案 1 :(得分:0)
您需要为_DysplayRuls TextBox实例的Text属性指定一个新值。
public static void UpdateRules(string status)
{
_DysplayRuls.Text = "done";
}
答案 2 :(得分:0)
您的命名约定存在问题。这可能看起来像是尼特,但在这种情况下,它是整体问题的线索。
这一行:
TextBox _DysplayRulsR = new TextBox();
......闻起来很糟糕。如果变量名以下划线开头,则它应该是成员变量。一些开发人员认为下划线是不必要的,但这是一个不同的观点;如果您要使用它们,则不应将它们用于局部变量。
这让我相信这一行:
public static void UpdateRules(string status)
{
_DysplayRulsR.Text = "done";
}
...实际上是引用名称为_DysplayRulsR
的不同文本框,但是在成员而不是本地范围内。
所以你有两个选择:
更改此
TextBox _DysplayRulsR = new TextBox();
到此:
_DysplayRulsR = new TextBox();
OR
将此添加到您的第一个代码块:
_DysplayRulsR.Name = "_DysplayRulsR";
并改变这一点:
public static void UpdateRules(string status)
{
_DysplayRulsR.Text = "done";
}
到此:
public static void UpdateRules(string status)
{
_ContentGrid.Children.FindControl("_DysplayRulsR").Text = "done";
}