Приведение строки к определенному типу - Visual Basic .NET
Формулировка задачи:
В четвертой процедуре в коментариях задан вопрос. Прошу помочь разобраться.
Public Class Dice Dim res(3) As Integer Dim p1, p2, pt1, pt2 As Integer Private Sub Dice_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Randomize() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click compArray() drawPic() Proverka() Winner() totalCount() End Sub Private Function Chance() 'Рандомчик 1-6 Dim u, l As Integer Dim rV As Double u = 6 l = 1 rV = CInt(Math.Floor((u - l + 1) * Rnd())) + l Return rV End Function Private Sub compArray() 'Генерация массива For i = 0 To 3 res(i) = Chance() Next End Sub Private Sub drawPic() 'Отрисовка картинок, в зависимости результата генерации массива 'For i = 1 To 4 ]Собственно, почему не работает ? Постоянно расписывать для каждого элемента... 'PictureBox(i).Image = My.Resources.D(i-1) ]А если кубиков будет 12, 24.... 'Next ]Подскажите, как привести строку к нужному типу, или какой метод есть в VB, чтобы 'PictureBox1.Image = My.Resources.D + res(0).ToString ]обрабатывать именно такие условия. И по возможности, объяснить в 2-3 словах. 'PictureBox1.Image = My.Resources.D1 ]Также ниже есть Private Sub Button2_Click - Label1.Text = 0; Label1.Visible = True 'PictureBox1.Image = CType(("My.Resources.D" + res(0).ToString), System.Drawing.Bitmap) ] PictureBox1.ImageLocation = Application.StartupPath & "\Resources\D" + res(0).ToString + ".jpg" PictureBox2.ImageLocation = Application.StartupPath & "\Resources\D" + res(1).ToString + ".jpg" PictureBox3.ImageLocation = Application.StartupPath & "\Resources\D" + res(2).ToString + ".jpg" PictureBox4.ImageLocation = Application.StartupPath & "\Resources\D" + res(3).ToString + ".jpg" End Sub Private Sub Winner() 'Определение победителя Dim a, b As Integer a = (res(0) + res(1)) b = (res(2) + res(3)) If a > b Then ListBox1.Items.Add("Победил первый игрок: " + a.ToString + "/" + b.ToString) p1 = 1 p2 = 0 ElseIf a = b Then ListBox1.Items.Add("Ничья: " + a.ToString + "/" + b.ToString) p1 = 0 p2 = 0 ElseIf a < b Then ListBox1.Items.Add("Победил второй игрок: " + a.ToString + "/" + b.ToString) p1 = 0 p2 = 1 End If End Sub Private Sub totalCount() 'Счетчик pt1 = pt1 + p1 pt2 = pt2 + p2 LabelP1.Text = pt1 LabelP2.Text = pt2 End Sub Private Sub Proverka() 'Кнопка с цифрами к картинкам Label1.Text = res(0) Label2.Text = res(1) Label3.Text = res(2) Label4.Text = res(3) Label5.Text = res(0) + res(1) Label6.Text = res(2) + res(3) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Кнопка сброса pt1 = 0 pt2 = 0 LabelP1.Text = pt1 LabelP2.Text = pt2 Label1.Text = 0 Label2.Text = 0 Label3.Text = 0 Label4.Text = 0 Label5.Text = 0 Label6.Text = 0 PictureBox1.ImageLocation = Application.StartupPath & "\Resources\D7.jpg" PictureBox2.ImageLocation = Application.StartupPath & "\Resources\D7.jpg" PictureBox3.ImageLocation = Application.StartupPath & "\Resources\D7.jpg" PictureBox4.ImageLocation = Application.StartupPath & "\Resources\D7.jpg" ListBox1.Items.Clear() End Sub Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged If CheckBox1.Checked = True Then Label1.Visible = True Label2.Visible = True Label3.Visible = True Label4.Visible = True Label5.Visible = True Label6.Visible = True 'Button3.Visible = True Else Label1.Visible = False Label2.Visible = False Label3.Visible = False Label4.Visible = False Label5.Visible = False Label6.Visible = False 'Button3.Visible = False End If End Sub Public p As New Object Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'Кнопка проверки Dim i As Integer = 1 p = CType("PictureBox" + i.ToString + ".ImageLocation", Object) MsgBox(p) p = Application.StartupPath & "\Resources\D7.jpg" MsgBox(p) 'MsgBox(PictureBox1.ImageLocation) End Sub End Class
Решение задачи: «Приведение строки к определенному типу»
textual
Листинг программы
s.Image = My.Resources.ResourceManager.GetObject("D" & M-1)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д