插入&成标签

时间:2012-10-10 13:13:24

标签: c# winforms

EDIT#2

  

我更改了标题名称,因为它不再代表   我问的问题。事实证明我的问题是显示&   c#winforms标签中的符号。

     

Enter "&" symbol into a text Label in Windows Forms?

     

这就是问题的答案,结果是重复的

这是原来的

我目前正在使用c#和sql。我写入数据库没有问题,当我使用MS SQL Server Manager检查字段时,我可以看到& varchar字段中的符号。但是当我使用c#检索它时,它似乎被省略了。

myTable.myColumn =" Me & You";

string testString="";
SQLConnection con = new SQLConnection(...)
SQLCommand command=new SQLCommand("Select Top 1 * from myTable",con)
SQLDataReader reader= command.ExecuteQuery()
while (reader.read())
{
    testString=reader["myColumn"].ToString();
    MessageBox.Show(testString);
}

输出=我你

我在飞行中写了这个,它可能在语法上不正确。这是正常输出还是我可能在某处出错?

编辑#1所以事实证明MessageBox确实显示了&amp ;.加载的对象保持&符号也是。即使是显示符号的标签也包含&其.Text属性中的符号,例如。 myLabel.Text ==“我和你”。但屏幕显示仍然说我。因此问题与SQL无关,而只是与Winforms有关,我很快就会删除这个问题,除非有其他人经历过这个问题,并且可以提供一些见解以加快我的故障排除

3 个答案:

答案 0 :(得分:2)

我的猜测是,当您使用WinForms & 时, Label 将被用作特殊字符。

其中:

  

我&你

变为

enter image description here

并且

  

Me&&你

变为

enter image description here

但这不适用于MessageBox.Show


If it's a label:

  • 用另一个&符号(&&)

  • 逃脱
  • 将该标签的UseMnemonic设置为 false ,然后按字面意思取得该标签的所有&符号,您不需要加倍它们(您会丢失下划线/访问关键功能虽然)

答案 1 :(得分:1)

myTable.myColumn =" Me & You";

string testString="";
SQLConnection con = new SQLConnection(...)
SQLCommand command=new SQLCommand("Select Top 1 * from myTable",con)
SQLDataReader reader= command.ExecuteQuery()
while (reader.read())
{
    testString=reader["myColumn"].ToString().Replace("&","&&");
    MessageBox.Show(testString);
}

答案 2 :(得分:0)

要使用对操作系统有特殊含义的字符,例如“和”和号(&)或分号(;),请将字符用引号(“)括起来。分隔符列可以是n'任何8-有点性格。