หลังจากที่นักเรียน Visual Basic เรียนรู้เกี่ยวกับลูป ข้อความแสดงเงื่อนไข และรูทีนย่อยแล้ว สิ่งต่อไปที่พวกเขามักถามคือ “ฉันจะเพิ่มบิตแมป ไฟล์ .wav เคอร์เซอร์แบบกำหนดเอง หรือเอฟเฟ็กต์พิเศษอื่นๆ ได้อย่างไร คำตอบหนึ่งคือไฟล์ทรัพยากร เมื่อคุณเพิ่มไฟล์ทรัพยากรในโครงการของคุณ ไฟล์จะถูกรวมเข้าด้วยกันเพื่อให้ดำเนินการได้เร็วที่สุดและมีความยุ่งยากน้อยที่สุดเมื่อบรรจุและปรับใช้แอปพลิเคชันของคุณ
การใช้ไฟล์ทรัพยากรไม่ใช่วิธีเดียวในการรวมไฟล์ใน โครงการ VBแต่มีข้อได้เปรียบที่แท้จริง ตัวอย่างเช่น คุณสามารถรวมบิตแมปในตัวควบคุม PictureBox หรือใช้ mciSendString Win32 API
Microsoft กำหนดทรัพยากรเป็น “ข้อมูลใด ๆ ที่ไม่สามารถดำเนินการได้ซึ่งนำไปใช้อย่างมีเหตุผลกับแอปพลิเคชัน”
วิธีที่ง่ายที่สุดในการจัดการไฟล์ทรัพยากรในโครงการของคุณคือการเลือกแท็บทรัพยากรในคุณสมบัติของโครงการ เมื่อต้องการทำเช่นนี้ ให้คลิกสองครั้งที่ My Project ใน Solution Explorer หรือคุณสมบัติโครงการของคุณภายใต้รายการเมนู Project
ประเภทไฟล์ทรัพยากร
- เครื่องสาย
- รูปภาพ
- ไอคอน
- เครื่องเสียง
- ไฟล์
- อื่น
ไฟล์ทรัพยากรทำให้โลกาภิวัตน์ง่ายขึ้น
การใช้ไฟล์ทรัพยากรช่วยเพิ่มประโยชน์อีกอย่าง: ความเป็นโลกาภิวัตน์ที่ดีขึ้น โดยปกติทรัพยากรจะรวมอยู่ในชุดประกอบหลักของคุณ แต่ .NET ยังอนุญาตให้คุณจัดชุดทรัพยากรในชุดประกอบดาวเทียมได้อีกด้วย ด้วยวิธีนี้ทำให้บรรลุความเป็นโลกาภิวัตน์ที่ดีขึ้นเนื่องจากมีเฉพาะชุดดาวเทียมที่จำเป็นเท่านั้น Microsoft ให้รหัสแต่ละภาษา ตัวอย่างเช่น ภาษาอังกฤษสำเนียงอเมริกันระบุด้วยสตริง “en-US” และภาษาฝรั่งเศสสำเนียงสวิสระบุด้วย “fr-CH” รหัสเหล่านี้ระบุชุดดาวเทียมที่มีไฟล์ทรัพยากรเฉพาะวัฒนธรรมเมื่อแอปพลิเคชันทำงาน Windows จะใช้ทรัพยากรที่มีอยู่ในแอสเซมบลีดาวเทียมโดยอัตโนมัติด้วยวัฒนธรรมที่กำหนดจากการกำหนดค่า Windows
VB.Net เพิ่มไฟล์ทรัพยากร
เนื่องจากทรัพยากรเป็นคุณสมบัติของโซลูชันใน VB.Net คุณจึงสามารถเข้าถึงได้เหมือนคุณสมบัติอื่นๆ โดยใช้ชื่อโดยใช้วัตถุ My.Resources เพื่ออธิบาย ลองดูแอป นี้ ที่ออกแบบมาเพื่อแสดงไอคอนธาตุทั้งสี่ของอริสโตเติล ได้แก่ อากาศ ดิน ไฟ และน้ำ
ก่อนอื่น คุณต้องเพิ่มไอคอน เลือกแท็บทรัพยากรของคุณสมบัติโครงการของคุณ เพิ่มไอคอนโดยเลือกเพิ่มไฟล์ที่มีอยู่จากเมนูแบบเลื่อนลงเพิ่มทรัพยากร หลังจากเพิ่มทรัพยากรแล้ว รหัสใหม่จะมีลักษณะดังนี้:
RadioButton1_CheckedChanged ย่อยส่วนตัว (…
จัดการ MyBase.Load
Button1.Image = My.Resources.EARTH.ToBitmap
Button1.Text = “Earth”
End Sub
การฝังด้วย Visual Studio
หากคุณใช้ Visual Studio คุณสามารถฝังทรัพยากรลงในแอสเซมบลีของโครงการของคุณได้โดยตรง ขั้นตอนเหล่านี้เพิ่มรูปภาพโดยตรงในโครงการของคุณ:
- คลิกขวาที่โครงการใน Solution Explorer คลิก เพิ่ม แล้วคลิก เพิ่มรายการที่มีอยู่
- เรียกดูไฟล์รูปภาพของคุณแล้วคลิกเปิด
- แสดงคุณสมบัติของรูปภาพที่เพิ่งเพิ่มเข้าไป
- ตั้งค่าคุณสมบัติ Build Action เป็น Embedded Resource
จากนั้นคุณสามารถใช้บิตแมปได้โดยตรงในโค้ดเช่นนี้ (โดยที่บิตแมปเป็นตัวที่สาม ดัชนีหมายเลข 2 ในแอสเซมบลี)
Dim res() As String = GetType(Form1).Assembly.GetManifestResourceNames()
PictureBox1.Image = New System.Drawing.Bitmap( _
GetType(Form1).Assembly.GetManifestResourceStream(res(2)))
แม้ว่าทรัพยากรเหล่านี้จะถูกฝังเป็น ข้อมูล ไบนารีโดยตรงในไฟล์แอสเซมบลีหลักหรือแอสเซมบลีดาวเทียม เมื่อคุณสร้างโปรเจ็กต์ของคุณใน Visual Studio ทรัพยากรเหล่านี้จะถูกอ้างอิงโดยใช้รูปแบบไฟล์ XML ที่ใช้นามสกุล .resx ตัวอย่างเช่น นี่คือส่วนย่อยของไฟล์ .resx ที่คุณเพิ่งสร้างขึ้น:
<assembly alias=”System.Windows.Forms” name=”System.Windows.Forms,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ />
<data name=”AIR”
type=”System.Resources ResXFileRef,
System.Windows.Forms”>
<value>..ResourcesCLOUD.ICO;System.Drawing.Icon,
System.Drawing, Version=2.0.0.0,
Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
เนื่องจากเป็นเพียงไฟล์ XML ข้อความ แอปพลิเคชัน .NET Framework จึงไม่สามารถใช้ไฟล์ .resx ได้โดยตรง ต้องแปลงเป็นไฟล์ไบนารี “.resources” เพิ่มลงในแอปพลิเคชันของคุณ งานนี้ทำโดยยูทิลิตี้ชื่อ Resgen.exe คุณอาจต้องการทำเช่นนี้เพื่อสร้างชุดดาวเทียมสำหรับโลกาภิวัตน์ คุณต้องเรียกใช้ resgen.exe จากพรอมต์คำสั่ง
น้ำพุ
“สรุปทรัพยากร”. ไมโครซอฟต์ 2558