ฉันต้องการเปลี่ยนไอคอนในแอปพลิเคชันที่ฉันกำลังทำงานอยู่ แต่แค่เรียกดูไอคอนอื่น ๆ จากแท็บคุณสมบัติโครงการ -> แอปพลิเคชัน -> ไอคอนก็ไม่ได้รับไอคอนที่เก็บไว้บนเดสก์ท็อป ..
วิธีทำที่ถูกต้องคืออะไร?
ฉันต้องการเปลี่ยนไอคอนในแอปพลิเคชันที่ฉันกำลังทำงานอยู่ แต่แค่เรียกดูไอคอนอื่น ๆ จากแท็บคุณสมบัติโครงการ -> แอปพลิเคชัน -> ไอคอนก็ไม่ได้รับไอคอนที่เก็บไว้บนเดสก์ท็อป ..
วิธีทำที่ถูกต้องคืออะไร?
คำตอบ:
ไอคอนที่คุณเห็นบนเดสก์ท็อปไม่ใช่ไฟล์ไอคอน พวกเขามีทั้งไฟล์ปฏิบัติการ.exeหรือทางลัดของโปรแกรมใด ๆ.lnk ดังนั้นสามารถตั้งค่าไอคอนที่มีนามสกุล. icoเท่านั้น
ไปที่เมนู Project -> Your_Project_Name Properties -> Application TAB -> Resources -> Icon
เรียกดูไอคอนของคุณจำไว้ว่าต้องมีนามสกุล. ico
คุณสามารถสร้างไอคอนของคุณใน Visual Studio
ไปที่เมนูโครงการ -> เพิ่มรายการใหม่ -> ไฟล์ไอคอน
ไอคอนที่แสดงในแถบงานและ Windowtitle เป็นของแบบฟอร์มหลัก การเปลี่ยนไอคอนจะเป็นการตั้งค่าไอคอนที่แสดงในแถบงานเมื่อรวมอยู่ใน * .resx ของคุณแล้ว :
System.ComponentModel.ComponentResourceManager resources =
new System.ComponentModel.ComponentResourceManager(typeof(MyForm));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("statusnormal.Icon")));
หรือโดยการอ่านโดยตรงจากแหล่งข้อมูลของคุณ:
this.Icon = new Icon("Resources/statusnormal.ico");
หากคุณไม่พบรหัสของโครงการในทันทีForm
ให้ค้นหาโครงการทั้งหมดของคุณ ( CTRL+SHIFT+F
) เพื่อหาชื่อหน้าต่างที่แสดง (สมมติว่าข้อความนั้นคงที่)
คุณสามารถเปลี่ยนไอคอนแอปภายใต้คุณสมบัติโครงการ ไอคอนฟอร์มส่วนบุคคลภายใต้คุณสมบัติของฟอร์ม
เพิ่มไอคอนของคุณเป็นทรัพยากร (โครงการ> คุณสมบัติชื่อโครงการของคุณ> ทรัพยากร> เลือก "ไอคอนจากดรอปดาวน์> เพิ่มทรัพยากร (หรือเลือกเพิ่มไฟล์ที่มีอยู่จากรายการแบบเลื่อนลงหากคุณมี. ico อยู่แล้ว)
จากนั้น:
this.Icon = Properties.Resources.youriconname;
เมื่อไอคอนอยู่ในรูปแบบ. ICO ในวิชวลสตูดิโอฉันใช้
//This uses the file u give it to make an icon.
Icon icon = Icon.ExtractAssociatedIcon(String);//pulls icon from .ico and makes it then icon object.
//Assign icon to the icon property of the form
this.Icon = icon;
ในระยะสั้น
Icon icon = Icon.ExtractAssociatedIcon("FILE/Path");
this.Icon = icon;
ใช้งานได้ทุกครั้ง
Works everytime.
ผิดไม่ได้ผลหากเผยแพร่แอปพลิเคชันเป็นไฟล์ exe เดียว
ในตัวสำรวจโซลูชันให้คลิกขวาที่ชื่อโครงการและเลือก 'คุณสมบัติ' บนเมนูบริบทเพื่อเปิดแบบฟอร์ม 'คุณสมบัติโครงการ' ในแท็บ "แอปพลิเคชัน" ในกล่องกลุ่ม "ทรัพยากร" จะมีช่องป้อนข้อมูลที่คุณสามารถเลือกไฟล์ไอคอนที่คุณต้องการสำหรับแอปพลิเคชันของคุณได้
ฉันเพิ่มไฟล์ .ico เพื่อโครงการของฉัน, การตั้งค่าสร้างการดำเนินการเพื่อให้ทรัพยากรที่ฝังตัว ฉันระบุพา ธ ไปยังไฟล์นั้นเป็นไอคอนของโปรเจ็กต์ในการตั้งค่าโปรเจ็กต์จากนั้นฉันใช้โค้ดด้านล่างในตัวสร้างแบบฟอร์มเพื่อแชร์ ด้วยวิธีนี้ฉันไม่จำเป็นต้องดูแลไฟล์ทรัพยากรทุกที่พร้อมสำเนาไอคอน สิ่งที่ฉันต้องทำเพื่ออัปเดตคือการแทนที่ไฟล์
var exe = System.Reflection.Assembly.GetExecutingAssembly();
var iconStream = exe.GetManifestResourceStream("Namespace.IconName.ico");
if (iconStream != null) Icon = new Icon(iconStream);
ฉันพบว่าวิธีที่ง่ายที่สุดคือ:
ในฟังก์ชันโหลดฟอร์มหลัก:
Icon = LoadIcon ("<ชื่อไฟล์ของไฟล์ไอคอนนั้น>");
ง่ายวิธีการแก้ปัญหาอยู่ที่นี่: ถ้าคุณกำลังใช้ Visual Studio จากSolution Explorer
คลิกขวาที่ไฟล์โครงการของคุณ เลือกProperties
. เลือกIcon and manifest
จากนั้นเรียกดู.ico
ไฟล์ของคุณ
เลือกคุณสมบัติโครงการของคุณจากแท็บโครงการจากนั้นแอปพลิเคชัน -> ทรัพยากร -> ไอคอนและรายการ -> เปลี่ยนไอคอนเริ่มต้น
ใช้งานได้ใน Visual studio 2019 อย่างประณีตหมายเหตุ: เฉพาะไฟล์ที่มีรูปแบบ. ico เท่านั้นที่สามารถเพิ่มเป็นไอคอนได้
เลือกรูปแบบหลัก -> คุณสมบัติ -> สไตล์ของ Windows -> ไอคอน -> เรียกดู ico ของคุณ
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));