C# 在GroupBox和TreeView中显示带符号和的字符串
我有这样的代码(简化问题): 使用此代码,C# 在GroupBox和TreeView中显示带符号和的字符串,c#,winforms,C#,Winforms,我有这样的代码(简化问题): 使用此代码,GroupBox显示为“this-That”,而TreeView正确显示为“this&That” 因此,我将字符串()更改为: public const string THIS_AND_THAT = "This && That"; 在这种情况下,GroupBox正确显示为“this&That”,而TreeView显示为“this&That”。 我看不出我可以在GroupBox或TreeView上使用属性 我该怎么办?(将我的评论提升为答
GroupBox
显示为“this-That”,而TreeView
正确显示为“this&That”
因此,我将字符串()更改为:
public const string THIS_AND_THAT = "This && That";
在这种情况下,GroupBox
正确显示为“this&That”,而TreeView
显示为“this&That”。
我看不出我可以在GroupBox或TreeView上使用属性
我该怎么办?(将我的评论提升为答案):
Windows和WinForms中的不同控件处理显示给用户的字符串的方式不一致,正如您所发现的TreeView
不支持转义符号,而GroupBox
支持转义符号
幸运的是,提供适当的文本非常简单:
String text = "This && that";
myGroupBox.Text = text;
myTreeNode.Text = text.Replace("&&", "&");
不能对TreeView和GroupBox使用相同的字符串,您需要为某些控件提供转义版本,为其他控件提供未转义版本。正确,因此您可以将其作为答案。避免
public const String Foo
仅将const
值公开为内部。对于公开的值,应该使用公共静态字符串Foo{get;}=“Value”相反,如果您确实需要字段,请使用公共静态只读字符串
。
String text = "This && that";
myGroupBox.Text = text;
myTreeNode.Text = text.Replace("&&", "&");