Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 16.04.2015
Сообщений: 26
1

Знаки зодиака - вывод картинки

07.05.2015, 17:19. Показов 1253. Ответов 12
Метки нет (Все метки)

Помогите разобраться мне при выборе даты нужно, что бы выводилась картинка знака. У меня не выводится
0
Миниатюры
Знаки зодиака - вывод картинки  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2015, 17:19
Ответы с готовыми решениями:

Знаки зодиака
Вообщем на форме размещается: поле ввода месяца и числа, соответственно после ввода, программа...

Знаки зодиака
Добрый вечер! Помогите, пожалуйста, с решением задачи. Даны 2 целых числа D (день), М...

Знаки зодиака
Известно, что астрологи делят год на 12 периодов и ставят каждому из них в соответствие знак...

Знаки Зодиака
Помогите пожалуйста написать программу в Pascal'e... Астрологи делят год на 12 периодов: ...

__________________
12
3718 / 2963 / 712
Регистрация: 02.02.2013
Сообщений: 2,849
Записей в блоге: 2
07.05.2015, 21:15 2
По одной лишь картинке трудно понять, что и как вы делаете. Поэтому предлагаю код решающий подобную задачу (насколько я понял вашу задачу).
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Public Class Form4
    Friend Structure dmStr
        Friend day1 As Integer
        Friend day2 As Integer
        Friend month1 As Integer
        Friend month2 As Integer
        Friend comment As String
        Friend Sub New(ByVal d1 As Integer, ByVal d2 As Integer, ByVal mn1 As Integer, ByVal mn2 As Integer, ByVal cm As String)
            day1 = d1
            day2 = d2
            month1 = mn1
            month2 = mn2
            comment = cm
        End Sub
        Friend Function wwDate1() As Integer
            Return month1 * 100 + day1
        End Function
        Friend Function wwDate2() As Integer
            Return month2 * 100 + day2
        End Function
    End Structure
    Private zd As New List(Of dmStr)
    Private isLoad As Boolean
    Private Sub Form4_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        zd.Add(New dmStr(21, 20, 3, 4, "Овен"))
        zd.Add(New dmStr(21, 20, 4, 5, "Телец"))
        zd.Add(New dmStr(21, 21, 5, 6, "Близнецы"))
        zd.Add(New dmStr(22, 22, 6, 7, "Рак"))
        zd.Add(New dmStr(23, 23, 7, 8, "Лев"))
        zd.Add(New dmStr(24, 23, 8, 9, "Дева"))
        zd.Add(New dmStr(24, 23, 9, 10, "Весы"))
        zd.Add(New dmStr(24, 22, 10, 11, "Скорпион"))
        zd.Add(New dmStr(23, 21, 11, 12, "Стрелец"))
        zd.Add(New dmStr(22, 20, 12, 1, "Козерог"))
        zd.Add(New dmStr(21, 20, 1, 2, "Водолей"))
        zd.Add(New dmStr(21, 20, 2, 3, "Рыбы"))
        Label2.Text = ""
        Label3.Text = ""
        With Label4
            .Text = ""
            .ImageList = ImageList1
            .Size = New Size(92, 92)
            .BorderStyle = BorderStyle.FixedSingle
            .FlatStyle = FlatStyle.Flat
        End With
        isLoad = True
    End Sub
    Private Sub DateTimePicker1_ValueChanged(sender As System.Object, e As System.EventArgs) Handles DateTimePicker1.ValueChanged
        If Not isLoad Then Exit Sub
        Dim dt As Date = DateTimePicker1.Value
        Dim ww As Integer = dt.Month * 100 + dt.Day
        Dim ss = (From ff In zd Where (ff.wwDate1 <= ww And ff.wwDate2 >= ww)).ToArray
        Label2.Text = ss(0).comment
        Label3.Text = ss(0).day1 & "." & Format(ss(0).month1, "00") & " - " & _
                        ss(0).day2 & "." & Format(ss(0).month2, "00")
        Label4.ImageIndex = zd.IndexOf(ss(0))
    End Sub
End Class
Здесь, на этапе конструирования, в ImageList помещены некоторые картинки (90х90). Они конечно не соответствуют знакам зодиака, просто для иллюстрации. Все остальное д.б. понятно из кода.
1
Миниатюры
Знаки зодиака - вывод картинки  
0 / 0 / 1
Регистрация: 16.04.2015
Сообщений: 26
07.05.2015, 21:39  [ТС] 3
спасибо за помощь я попробовала добавить свои картинки , но не отображаются:
1. я их добавляла через "Item"
2. и прописывала
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Public Class ЗнакЗодіаку
    Friend Structure dmStr
        Friend day1 As Integer
        Friend day2 As Integer
        Friend month1 As Integer
        Friend month2 As Integer
        Friend comment As String
        Friend Sub New(ByVal d1 As Integer, ByVal d2 As Integer, ByVal mn1 As Integer, ByVal mn2 As Integer, ByVal cm As String)
            day1 = d1
            day2 = d2
            month1 = mn1
            month2 = mn2
            comment = cm
        End Sub
        Friend Function wwDate1() As Integer
            Return month1 * 100 + day1
        End Function
        Friend Function wwDate2() As Integer
            Return month2 * 100 + day2
        End Function
    End Structure
    Private zd As New List(Of dmStr)
    Private isLoad As Boolean
    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        zd.Add(New dmStr(21, 20, 3, 4, "Овен"))
        zd.Add(New dmStr(21, 20, 4, 5, "Телец"))
        zd.Add(New dmStr(21, 21, 5, 6, "Близнецы"))
        zd.Add(New dmStr(22, 22, 6, 7, "Рак"))
        zd.Add(New dmStr(23, 23, 7, 8, "Лев"))
        zd.Add(New dmStr(24, 23, 8, 9, "Дева"))
        zd.Add(New dmStr(24, 23, 9, 10, "Весы"))
        zd.Add(New dmStr(24, 22, 10, 11, "Скорпион"))
        zd.Add(New dmStr(23, 21, 11, 12, "Стрелец"))
        zd.Add(New dmStr(22, 20, 12, 1, "Козерог"))
        zd.Add(New dmStr(21, 20, 1, 2, "Водолей"))
        zd.Add(New dmStr(21, 20, 2, 3, "Рыбы"))
 
        ImageList1.Items.Add("21.03-20.04 Овен.jpg")
        ImageList1.Items.Add("20.04-20.05 Телець.jpg")
        ImageList1.Items.Add("21.05-21.06 Близнюки.jpg")
        ImageList1.Items.Add("22.06 - 22.07 Рак.jpg")
        ImageList1.Items.Add("23.07 - 22.08 Лев.jpg")
        ImageList1.Items.Add("23.08 - 22.09 Діва.jpg")
        ImageList1.Items.Add("24.10 - 22.11 Скорпіон.jpg")
        ImageList1.Items.Add("23.11 - 21.12 Стрілець.jpg")
        ImageList1.Items.Add("22.12 - 20.01 Козеріг.jpg")
        ImageList1.Items.Add("20.01 - 18.02 Водолій.jpg")
        ImageList1.Items.Add("20.04 - 20.05 Телець.jpg")
        ImageList1.Items.Add("19.02 - 20.03 Риби.jpg")
        Label2.Text = ""
        Label3.Text = ""
        With Label2
            .Text = ""
            .ImageList = ImageList1
            .Size = New Size(92, 92)
            .BorderStyle = BorderStyle.FixedSingle
            .FlatStyle = FlatStyle.Flat
        End With
        isLoad = True
    End Sub
    Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
        If Not isLoad Then Exit Sub
        Dim dt As Date = DateTimePicker1.Value
        Dim ww As Integer = dt.Month * 100 + dt.Day
        Dim ss = (From ff In zd Where (ff.wwDate1 <= ww And ff.wwDate2 >= ww)).ToArray
        Label2.Text = ss(0).comment
        Label3.Text = ss(0).day1 & "." & Format(ss(0).month1, "00") & " - " & _
                        ss(0).day2 & "." & Format(ss(0).month2, "00")
        Label3.ImageIndex = zd.IndexOf(ss(0))
    End Sub
 
 
End Class
P.s. Подскажите что не так?
0
3718 / 2963 / 712
Регистрация: 02.02.2013
Сообщений: 2,849
Записей в блоге: 2
07.05.2015, 22:08 4
Как добавлять картинки в ImageList программно уже обсуждалось (Программное добавление картинок в ImageList). Хотя не ясно, почему бы их не добавить на этапе Design. Ну и еще если ваши картинки находятся вне папки приложения, то нужно указывать полный путь.
Теперь по коду.
vb.net
1
Public Class ЗнакЗодіаку
Надеюсь, вы понимаете, что это класс формы. Вы ее переименовали и в тоже время оставили
vb.net
1
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
0
0 / 0 / 1
Регистрация: 16.04.2015
Сообщений: 26
07.05.2015, 22:30  [ТС] 5
Спасибо сразу не заметила. По скольку я только начала учить VB.
Перешла по ссылке там где добавляют картинки, у меня картинки находятся в папке проекта ..\bin\debug\

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Public Class ЗнакЗодіаку
    Friend Structure dmStr
        Friend day1 As Integer
        Friend day2 As Integer
        Friend month1 As Integer
        Friend month2 As Integer
        Friend comment As String
        Friend Sub New(ByVal d1 As Integer, ByVal d2 As Integer, ByVal mn1 As Integer, ByVal mn2 As Integer, ByVal cm As String)
            day1 = d1
            day2 = d2
            month1 = mn1
            month2 = mn2
            comment = cm
        End Sub
        Friend Function wwDate1() As Integer
            Return month1 * 100 + day1
        End Function
        Friend Function wwDate2() As Integer
            Return month2 * 100 + day2
        End Function
    End Structure
    Private zd As New List(Of dmStr)
    Private isLoad As Boolean
    Private Sub ЗнакЗодіаку(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim img As ImageList
        zd.Add(New dmStr(21, 20, 3, 4, "Овен"))
        zd.Add(New dmStr(21, 20, 4, 5, "Телец"))
        zd.Add(New dmStr(21, 21, 5, 6, "Близнецы"))
        zd.Add(New dmStr(22, 22, 6, 7, "Рак"))
        zd.Add(New dmStr(23, 23, 7, 8, "Лев"))
        zd.Add(New dmStr(24, 23, 8, 9, "Дева"))
        zd.Add(New dmStr(24, 23, 9, 10, "Весы"))
        zd.Add(New dmStr(24, 22, 10, 11, "Скорпион"))
        zd.Add(New dmStr(23, 21, 11, 12, "Стрелец"))
        zd.Add(New dmStr(22, 20, 12, 1, "Козерог"))
        zd.Add(New dmStr(21, 20, 1, 2, "Водолей"))
        zd.Add(New dmStr(21, 20, 2, 3, "Рыбы"))
 
        img = ImageList1.ListImage.Add("21.03-20.04 Овен.jpg")
        img = ImageList1.ListImage.Add("20.04-20.05 Телець.jpg")
        img = ImageList1.ListImage.Add("21.05-21.06 Близнюки.jpg")
        img = ImageList1.ListImage.Add("22.06 - 22.07 Рак.jpg")
        img = ImageList1.ListImage.Add("23.07 - 22.08 Лев.jpg")
        img = ImageList1.ListImage.Add("23.08 - 22.09 Діва.jpg")
        img = ImageList1.ListImage.Add("24.10 - 22.11 Скорпіон.jpg")
        img = ImageList1.ListImage.Add("23.11 - 21.12 Стрілець.jpg")
        img = ImageList1.ListImage.Add("22.12 - 20.01 Козеріг.jpg")
        img = ImageList1.ListImage.Add("20.01 - 18.02 Водолій.jpg")
        img = ImageList1.ListImage.Add("20.04 - 20.05 Телець.jpg")
        img = ImageList1.ListImage.Add("19.02 - 20.03 Риби.jpg")
        Label2.Text = ""
        Label3.Text = ""
        With Label2
            .Text = ""
            .ImageList = ImageList1
            .Size = New Size(92, 92)
            .BorderStyle = BorderStyle.FixedSingle
            .FlatStyle = FlatStyle.Flat
        End With
        isLoad = True
    End Sub
    Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
        If Not isLoad Then Exit Sub
        Dim dt As Date = DateTimePicker1.Value
        Dim ww As Integer = dt.Month * 100 + dt.Day
        Dim ss = (From ff In zd Where (ff.wwDate1 <= ww And ff.wwDate2 >= ww)).ToArray
        Label2.Text = ss(0).comment
        Label3.Text = ss(0).day1 & "." & Format(ss(0).month1, "00") & " - " & _
                        ss(0).day2 & "." & Format(ss(0).month2, "00")
        Label3.ImageIndex = zd.IndexOf(ss(0))
    End Sub
 
 
End Class
но не работает и відает ошибку
0
Миниатюры
Знаки зодиака - вывод картинки  
3718 / 2963 / 712
Регистрация: 02.02.2013
Сообщений: 2,849
Записей в блоге: 2
07.05.2015, 23:08 6
Насколько понимаю, ImageList1 не определен. Но было бы лучше, если бы вы показали свой проект целиком.
0
0 / 0 / 1
Регистрация: 16.04.2015
Сообщений: 26
07.05.2015, 23:22  [ТС] 7
Да я пыталась его объявить, но не выходит.
Вот он :
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Public Class ЗнакЗодіаку
    Friend Structure dmStr
        Friend day1 As Integer
        Friend day2 As Integer
        Friend month1 As Integer
        Friend month2 As Integer
        Friend comment As String
        Friend Sub New(ByVal d1 As Integer, ByVal d2 As Integer, ByVal mn1 As Integer, ByVal mn2 As Integer, ByVal cm As String)
            day1 = d1
            day2 = d2
            month1 = mn1
            month2 = mn2
            comment = cm
        End Sub
        Friend Function wwDate1() As Integer
            Return month1 * 100 + day1
        End Function
        Friend Function wwDate2() As Integer
            Return month2 * 100 + day2
        End Function
    End Structure
    Private zd As New List(Of dmStr)
    Private isLoad As Boolean
    Private Sub ЗнакЗодіаку(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim img As ImageList
        zd.Add(New dmStr(21, 20, 3, 4, "Овен"))
        zd.Add(New dmStr(21, 20, 4, 5, "Телец"))
        zd.Add(New dmStr(21, 21, 5, 6, "Близнецы"))
        zd.Add(New dmStr(22, 22, 6, 7, "Рак"))
        zd.Add(New dmStr(23, 23, 7, 8, "Лев"))
        zd.Add(New dmStr(24, 23, 8, 9, "Дева"))
        zd.Add(New dmStr(24, 23, 9, 10, "Весы"))
        zd.Add(New dmStr(24, 22, 10, 11, "Скорпион"))
        zd.Add(New dmStr(23, 21, 11, 12, "Стрелец"))
        zd.Add(New dmStr(22, 20, 12, 1, "Козерог"))
        zd.Add(New dmStr(21, 20, 1, 2, "Водолей"))
        zd.Add(New dmStr(21, 20, 2, 3, "Рыбы"))
 
        img = ImageList1.ListImage.Add("21.03-20.04 Овен.jpg")
        img = ImageList1.ListImage.Add("20.04-20.05 Телець.jpg")
        img = ImageList1.ListImage.Add("21.05-21.06 Близнюки.jpg")
        img = ImageList1.ListImage.Add("22.06 - 22.07 Рак.jpg")
        img = ImageList1.ListImage.Add("23.07 - 22.08 Лев.jpg")
        img = ImageList1.ListImage.Add("23.08 - 22.09 Діва.jpg")
        img = ImageList1.ListImage.Add("24.10 - 22.11 Скорпіон.jpg")
        img = ImageList1.ListImage.Add("23.11 - 21.12 Стрілець.jpg")
        img = ImageList1.ListImage.Add("22.12 - 20.01 Козеріг.jpg")
        img = ImageList1.ListImage.Add("20.01 - 18.02 Водолій.jpg")
        img = ImageList1.ListImage.Add("20.04 - 20.05 Телець.jpg")
        img = ImageList1.ListImage.Add("19.02 - 20.03 Риби.jpg")
        Label2.Text = ""
        Label3.Text = ""
        With Label2
            .Text = ""
            .ImageList = ImageList1
            .Size = New Size(92, 92)
            .BorderStyle = BorderStyle.FixedSingle
            .FlatStyle = FlatStyle.Flat
        End With
        isLoad = True
    End Sub
    Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
        If Not isLoad Then Exit Sub
        Dim dt As Date = DateTimePicker1.Value
        Dim ww As Integer = dt.Month * 100 + dt.Day
        Dim ss = (From ff In zd Where (ff.wwDate1 <= ww And ff.wwDate2 >= ww)).ToArray
        Label2.Text = ss(0).comment
        Label3.Text = ss(0).day1 & "." & Format(ss(0).month1, "00") & " - " & _
                        ss(0).day2 & "." & Format(ss(0).month2, "00")
        Label3.ImageIndex = zd.IndexOf(ss(0))
    End Sub
 
 
End Class
P.S. я не могу разобраться либо я не там объявляю,либо не туда вписываю картинки
0
3718 / 2963 / 712
Регистрация: 02.02.2013
Сообщений: 2,849
Записей в блоге: 2
07.05.2015, 23:46 8
Заархивируйте ваш проект и приложите к своему сообщению.
0
0 / 0 / 1
Регистрация: 16.04.2015
Сообщений: 26
07.05.2015, 23:49  [ТС] 9
Вот он
0
Вложения
Тип файла: rar ЗнакЗодіаку.rar (351.4 Кб, 5 просмотров)
3718 / 2963 / 712
Регистрация: 02.02.2013
Сообщений: 2,849
Записей в блоге: 2
08.05.2015, 00:38 10
Лучший ответ Сообщение было отмечено Ev_Hyper как решение

Решение

Действительно все проблемы с ImageList, не понятно как вы его добавляли к проекту. У меня форма просто не открылась, и я не стал особо вникать, а просто собрал новый проект. Это мне проще ну вы можете проанализировать, как и что.
1
Вложения
Тип файла: zip Zodiak.zip (192.2 Кб, 6 просмотров)
0 / 0 / 1
Регистрация: 16.04.2015
Сообщений: 26
08.05.2015, 00:58  [ТС] 11
спасибо большое за помощь.

Добавлено через 16 минут
я поняла свою ошибку, у не до ставила Label4, и прописала лишнее.
0
39 / 40 / 20
Регистрация: 30.09.2013
Сообщений: 141
08.05.2015, 10:42 12
А я бы, в этом случае, хранил бы картинки в ресурсах.
Какие минусы у данного решения? Ведь это удобнее, чем хранить их в каталоге с программой. Разве нет?
0
0 / 0 / 1
Регистрация: 16.04.2015
Сообщений: 26
08.05.2015, 13:39  [ТС] 13
мне кажется что да, так я и сделала.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2015, 13:39

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Знаки зодиака
Даны два целых числа: D(день) и M(месяц), определяющие правильную дату. Вывести знак Зодиака,...

Знаки Зодиака
Добрый день! Прошу помочь с решением задачи. Составить программу которая по заданной дате...

Знаки зодиака по введенной дате
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату. Вывести знак Зодиака,...

Текст в файле:Структура - знаки зодиака
Задание: Текст в файле:Структура - знаки зодиака. Структура с полями: фамилия,год рождения,знак...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.