ทรัพยากร VB.Net คืออะไรและใช้อย่างไร

0
35


หลังจากที่นักเรียน 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