คุณเคยเห็นข้อยกเว้นเช่นนี้หรือไม่?
System.ArgumentException: Only TrueType fonts are supported. This is not a TrueType font.
at System.Drawing.Font.FromLogFont(Object lf, IntPtr hdc)
at System.Windows.Forms.FontDialog.UpdateFont(LOGFONT lf)
at System.Windows.Forms.FontDialog.RunDialog(IntPtr hWndOwner)
at System.Windows.Forms.CommonDialog.ShowDialog(IWin32Window owner)
ข้อยกเว้นนี้ถูกโยนทิ้งเมื่อใช้ System.Windows.Forms.FontDialog ส่วนประกอบและคุณเลือกแบบอักษรที่ไม่ถูกต้อง และคุณไม่สามารถทำอะไรเกี่ยวกับเรื่องนี้ได้เนื่องจากข้อยกเว้นนี้ถูกฝังอยู่ในวิธีการส่วนตัวของ FontDialog และไม่ได้รับการจัดการ
เนื่องจากข้อผิดพลาดอยู่ที่นั่นมานานหลายปีโดยไม่ได้รับการแก้ไขและเนื่องจากข้อเท็จจริงที่ว่าแบบฟอร์ม Windows นั้นไม่สูงในรายการลำดับความสำคัญสำหรับ Microsoft ฉันสงสัยว่ามันจะไม่ได้รับการแก้ไข นี่คือล้อเดียวที่ฉันไม่อยากจะคิดค้นขึ้นมาใหม่ แต่ ... ที่นี่มันเป็นอยู่แล้ว
ฉันไม่ได้จัดการเพื่อค้นหาแบบอักษรที่ทำให้เกิดความผิดพลาดประเภทนี้แม้ว่าฉันจะมีรายงานข้อผิดพลาดอัตโนมัติเล็กน้อยจากผู้ใช้ที่ได้สัมผัส หากคุณรู้จักแบบอักษรที่พร้อมใช้งานโปรดแจ้งให้เราทราบเพื่อที่ฉันจะได้ทดสอบด้วยตัวเอง ฉันถือว่าเวอร์ชันของฉันแก้ไขปัญหา แต่ ณ จุดนี้ฉันไม่รู้จริง ๆ
ส่วนประกอบ Cyotek.Windows.Forms.FontDialog เป็นการลดลงในการแทนที่สำหรับ System.Windows.Forms.FontDialog แต่ไม่มีความผิดพลาดที่เกิดขึ้นเมื่อเลือกแบบอักษรประเภทที่ไม่จริง
เวอร์ชันนี้ใช้กล่องโต้ตอบ Win32 ดั้งเดิมผ่านทาง ChooseFont - ขั้นตอนการขอเบ็ดในการจัดการเหตุการณ์ Apply และการซ่อน color combobox ได้ถูกนำมาโดยตรงจากส่วนประกอบที่มีการจัดการดั้งเดิม
นอกจากนี้ยังมีวิธีแก้ปัญหาที่ได้รับการจัดการอย่างเต็มที่ซึ่งฝังอยู่ในหนึ่งในสาขาของที่เก็บนี้ มันไม่สมบูรณ์ส่วนใหญ่เป็นเพราะฉันไม่สามารถระบุได้ว่าตัวอักษรใดถูกซ่อนอยู่โดยการตั้งค่าและวิธีการรวมครอบครัวที่เข้ากับรูปแบบที่ไม่ใช่มาตรฐานเช่นแสง มันยังคงน่าสนใจในสิทธิของตัวเองแสดงวิธีการใช้ EnumFontFamiliesEx ฯลฯ แต่ตอนนี้มันถูกระงับไว้เป็นงานที่กำลังดำเนินอยู่
มีแพ็คเกจ Nuget
PM> ติดตั้ง package cyotek.windows.forms.fontdialog
ส่วนประกอบ FontDialog ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดู LICENSE.txt สำหรับข้อความเต็ม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการควบคุมนี้ดูบทความที่ติดแท็กด้วย Fontdialog ที่ cyotek.com