Saya membuat program yang memiliki Array yang penuh dengan gambar yang semuanya dimuat di awal. Untuk melakukan ini saya telah menggunakan kode ini ...

    Image(1) = My.Resources._0
    Image(2) = My.Resources._5
    Image(3) = My.Resources._10
    Image(4) = My.Resources._15
    Image(5) = My.Resources._20

Dan seterusnya hingga Image(72). Tapi sekarang saya ingin membuatnya menjadi 360, dan lebih suka mengisinya secara otomatis untuk saya ... Jadi kode manualnya adalah ...

    Image(1) = My.Resources._1
    Image(2) = My.Resources._2
    Image(3) = My.Resources._3

Dan seterusnya sampai...

    Image(360) = My.Resources._360

Tapi itu akan memakan waktu cukup lama dan tidak terlalu kompak dan mudah untuk diubah... Jadi saya ingin mengulanginya... Sejauh ini saya punya ini...

    Dim Count2 As Integer = 1
    Dim Resource As String

    Do Until Count2 = 361
        Resource = ("My.Resources._" + Text(Count2))
        Image(Count2) = Resource
        Count2 = Count2 + 1
    Loop

Jadi satu-satunya masalah saya dengan kode ini adalah tidak mengenali variabel "Sumber Daya" sebagai kode ... Jadi ...

    Dim Resource As String

    Resource = ("My.Resources._" + Text(1))
    Image = Resource

Tidak melihat Sumber Daya sebagai

    My.Resources._1

Ia melihat Sumber Daya sebagai

    "My.Resources._1"
0
Fercorn 12 Mei 2021, 10:58

1 menjawab

Jawaban Terbaik

Anda harus dapat mengulanginya seperti ini:

Dim i As Integer
For i = 1 To 360
    Image(i) = My.Resources.ResourceManager.GetObject("_" + i.ToString)
Next i
0
Pᴇʜ 12 Mei 2021, 08:28