ป้อนสัญลักษณ์“ &” ลงในป้ายข้อความใน Windows Forms?


103

จะป้อนอักขระพิเศษลงLabelใน C # (Windows Forms) ได้อย่างไร?

หากคุณพยายามเขียน "&" ลงในป้ายกำกับคุณจะได้เครื่องหมายขีดล่างแทน ..

แล้ว C # เทียบเท่ากับ "&" คืออะไร? (เห็นได้ชัดว่า "\ &" ใช้ไม่ได้)

คำตอบ:


203

สองทาง:

  • หลีกหนีด้วยเครื่องหมายและอื่น ( &&)

  • ตั้งค่าUseMnemonicสำหรับป้ายกำกับfalseนั้นเป็น สิ่งนี้ทำให้เครื่องหมายแอมเพอร์แซนด์ทั้งหมดภายในข้อความถูกนำมาใช้อย่างแท้จริงดังนั้นคุณจึงไม่จำเป็นต้องเพิ่มค่าแอมเพอร์แซนด์เป็นสองเท่า คุณจะสูญเสียการขีดเส้นใต้และเข้าถึงคุณสมบัติหลัก ๆ

    คุณสามารถตั้งค่าในตัวออกแบบหรือในรหัส:

    myLabel.UseMnemonic = false;
    myLabel.Text = "Text&Text";

1
ฉันรู้แล้ว (และใช้) &&รูปแบบ แต่UseMnemonicฉันไม่เคยเห็นมาก่อน ดังนั้น +1 สำหรับการตรัสรู้ใหม่นี้
Oliver

2
นี่คือคำตอบที่เป็นที่ยอมรับ ซ้ำคำถามนี้รวมถึงstackoverflow.com/questions/4324310 , stackoverflow.com/questions/7737532 , stackoverflow.com/questions/9100607และstackoverflow.com/questions/4324310
Peter Mortensen

1
เนื่องจากToolStripStatusLabelไม่มีคุณสมบัตินี้หากฉันต้องการใช้สิ่งนี้บน StatusStrip ฉันถูกบังคับให้หนีด้วยเครื่องหมายแอมเพอร์แซนด์อื่นหรือไม่?
AdamMc331

2
@ McAdam331: ฉันเชื่ออย่างนั้น
BoltClock

1
@BoltClock ขอบคุณ มันง่ายพอที่จะทำฉันใช้String.Replace("&", "&&")เมื่อใดก็ตามที่ฉันตั้งค่าข้อความดังนั้นฉันจึงสามารถหลีกเลี่ยงเครื่องหมายแอมเพอร์แซนด์โดยไม่ทำให้วัตถุของฉันกลายพันธุ์และทำให้สับสนว่าจะแสดงที่อื่นอย่างไร
AdamMc331



0

ฉันไม่รู้วิธีใช้ '&' ในตัวออกแบบ แต่ในโค้ดคุณสามารถใช้ '&&' เพื่อแสดง '&'


5
"&&" ทำงานได้ดีในนักออกแบบ เพียงแค่ป้อนข้อมูลในตำแหน่งที่คุณเปลี่ยนข้อความ
Spectraljump

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.