จะป้อนอักขระพิเศษลงLabel
ใน C # (Windows Forms) ได้อย่างไร?
หากคุณพยายามเขียน "&" ลงในป้ายกำกับคุณจะได้เครื่องหมายขีดล่างแทน ..
แล้ว C # เทียบเท่ากับ "&" คืออะไร? (เห็นได้ชัดว่า "\ &" ใช้ไม่ได้)
จะป้อนอักขระพิเศษลงLabel
ใน C # (Windows Forms) ได้อย่างไร?
หากคุณพยายามเขียน "&" ลงในป้ายกำกับคุณจะได้เครื่องหมายขีดล่างแทน ..
แล้ว C # เทียบเท่ากับ "&" คืออะไร? (เห็นได้ชัดว่า "\ &" ใช้ไม่ได้)
คำตอบ:
สองทาง:
หลีกหนีด้วยเครื่องหมายและอื่น ( &&
)
ตั้งค่าUseMnemonic
สำหรับป้ายกำกับfalse
นั้นเป็น สิ่งนี้ทำให้เครื่องหมายแอมเพอร์แซนด์ทั้งหมดภายในข้อความถูกนำมาใช้อย่างแท้จริงดังนั้นคุณจึงไม่จำเป็นต้องเพิ่มค่าแอมเพอร์แซนด์เป็นสองเท่า คุณจะสูญเสียการขีดเส้นใต้และเข้าถึงคุณสมบัติหลัก ๆ
คุณสามารถตั้งค่าในตัวออกแบบหรือในรหัส:
myLabel.UseMnemonic = false;
myLabel.Text = "Text&Text";
ToolStripStatusLabel
ไม่มีคุณสมบัตินี้หากฉันต้องการใช้สิ่งนี้บน StatusStrip ฉันถูกบังคับให้หนีด้วยเครื่องหมายแอมเพอร์แซนด์อื่นหรือไม่?
String.Replace("&", "&&")
เมื่อใดก็ตามที่ฉันตั้งค่าข้อความดังนั้นฉันจึงสามารถหลีกเลี่ยงเครื่องหมายแอมเพอร์แซนด์โดยไม่ทำให้วัตถุของฉันกลายพันธุ์และทำให้สับสนว่าจะแสดงที่อื่นอย่างไร
เพิ่มเครื่องหมายและอีกอันไว้ด้านหน้าดังนั้น: &&
หรือดูสิ่งต่อไปนี้Label.UseMnemonic (เอกสาร MSDN)
&&
คุณสามารถหลบหนีและโดยการเพิ่มสองครั้งที่จะลอง
ฉันไม่รู้วิธีใช้ '&' ในตัวออกแบบ แต่ในโค้ดคุณสามารถใช้ '&&' เพื่อแสดง '&'
ลองสิ่งนี้:
((char)0x26).ToString()
&&
รูปแบบ แต่UseMnemonic
ฉันไม่เคยเห็นมาก่อน ดังนั้น +1 สำหรับการตรัสรู้ใหม่นี้