C#方法中标签文本未更改 我是C中的新手。
我有一个问题,我想改变文本框的文本,但我没有发生我必须在论坛上看,但没有任何帮助我。欢迎你的帮助 创建文本框:C#方法中标签文本未更改 我是C中的新手。,c#,label,C#,Label,我有一个问题,我想改变文本框的文本,但我没有发生我必须在论坛上看,但没有任何帮助我。欢迎你的帮助 创建文本框: TextBox _DysplayRulsR = new TextBox(); _DysplayRulsR.Text = "Hello message"; _DysplayRulsR.VerticalAlignment = VerticalAlignment.Top; _DysplayRulsR.HorizontalAli
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";
}
标签显示良好,方法和使用良好,但文本框的文本不希望更改
抱歉,我的英语水平不高,翻译能力不强。您需要更改文本框的
Text
属性
例如:
public static void UpdateRules(string status)
{
_TextRules.Text = "done";
}
但是,您确实在上述初始化代码中将
\u DysplayRuls
显示为文本框的名称。在我的示例中,请确保将\u TextRules
替换为您要更改的任何文本框。您需要为您的\u dyPlayruls TextBox实例的Text属性指定一个新值
public static void UpdateRules(string status)
{
_DysplayRuls.Text = "done";
}
您对命名约定有问题。这似乎是一个错误,但在这种情况下,这是一个整体问题的线索 这一行:
TextBox _DysplayRulsR = new TextBox();
…闻起来很难闻。如果变量名以下划线开头,则应为成员变量。一些开发者认为下划线是不必要的,但这是另一个观点;如果要使用它们,就不应该将它们用于局部变量
这让我相信这句话:
public static void UpdateRules(string status)
{
_DysplayRulsR.Text = "done";
}
…实际上引用了另一个名为\u DysplayRulsR
的文本框,但该文本框位于成员范围,而不是本地范围
所以你有两个选择:
改变这个
TextBox _DysplayRulsR = new TextBox();
为此:
_DysplayRulsR = new TextBox();
public static void UpdateRules(string status)
{
_ContentGrid.Children.FindControl("_DysplayRulsR").Text = "done";
}
或
将此添加到您的第一个代码块:
_DysplayRulsR.Name = "_DysplayRulsR";
改变这一点:
public static void UpdateRules(string status)
{
_DysplayRulsR.Text = "done";
}
为此:
_DysplayRulsR = new TextBox();
public static void UpdateRules(string status)
{
_ContentGrid.Children.FindControl("_DysplayRulsR").Text = "done";
}
它应该是
\u TextRules.Text=“完成”
您的文本框不属于容器。@larsTech当然,如果我没有将所有代码放在一起以便更清晰,\u ContentGrid.Children.Remove(\u dyplayruls);ContentGrid是什么类型的控件?你为什么要在里面贴标签?你为什么要把它拿走?什么是规则?在简化帖子的过程中,您留下了许多悬而未决的问题。最简洁的方法是将文本绑定到属性,确保绑定模式是双向的。然后更新财产。非常感谢你的帮助,一个愚蠢的错误。但这些都是已经犯下的一些错误。大家好