我有这样的代码(简化问题):
public const string THIS_AND_THAT = "This & That";
System.Windows.Forms.GroupBox myGroupBox;
System.Windows.Forms.TreeView myTreeView;
System.Windows.Forms.TreeNode myTreeNode;
myGroupBox.Text = THIS_AND_THAT;
myTreeNode = new TreeNode(THIS_AND_THAT);
myTreeNode.Name = THIS_AND_THAT;
myTreeView.Nodes.Add(THIS_AND_THAT);
使用此代码,GroupBox
显示为" This That"并且TreeView
正确显示为"此&也就是说&#34 ;.
所以我将字符串(as suggested here)更改为:
public const string THIS_AND_THAT = "This && That";
在这种情况下,GroupBox
正确显示为"此&那个",但TreeView
显示为"这&&也就是说&#34 ;.
我没有看到我可以在GroupBox或TreeView上使用UseMnemonic属性。
我该怎么办?
答案 0 :(得分:1)
(将我的评论推荐给答案):
Windows和WinForms中的不同控件如何处理向用户显示的字符串存在不一致,因为您发现TreeView
在GroupBox
时不支持转义的&符号。
幸运的是,提供适当的文字非常简单:
String text = "This && that";
myGroupBox.Text = text;
myTreeNode.Text = text.Replace("&&", "&");