powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Индексированные контроллы в Vb.Net
21 сообщений из 46, страница 2 из 2
Индексированные контроллы в Vb.Net
    #38937645
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77И не я топик создавалНет уж позвольте!!
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38937740
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
но ведь правда не я.
Было что сказать, я написал.
А дискутировать и что-то кому то доказывать
На эту тему ну правда, не интересно.
Отвечаю только от нечего делать, еду в метро
а тут wi-fi халявный. Круто. Да и телефон новый освоить
же надо.
О, смайлики надо попробовать.
😃😊😞😉 📞 📞 📞 📞 📱 📞 📱🚉🚉🚉 🚽🚹🚺🚻 круто
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38937812
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Дмитрий77Вопрос был про массивы контролов.
Ответ: в .Net так нельзя.
Как это, как это?

Код: c#
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.
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            string[] dir = System.IO.Directory.GetDirectories(@"c:\");
            Label[] label = new Label[dir.Length];
            for (int i = 0; i < label.Length; i++ )
            {
                label[i] = new Label();
                label[i].Text = dir[i];
                label[i].Click += label_Click;
                label[i].Top = i * label[i].Height;
                
            }
            this.Controls.AddRange(label);
         }

       

        private void label_Click(object sender, EventArgs e)
        {
            MessageBox.Show(((Label)sender).Text);
        }
    }
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38937818
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ах да. Eсли контролы уже готовы


Код: vbnet
1.
2.
LabelArray(1) = Label3
LabelArray(2) = Label4



Код: c#
1.
Label[] label = new Label() {label1, label2, label3} ;
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38937931
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2, речь шла про VB6 и VB.Net
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38938677
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Slava_PskCat2, речь шла про VB6 и VB.Net
Так что , на странице https://msdn.microsoft.com/ru-ru/library/wak0wfyt.aspx врут с примером?

Код: c#
1.
Dim prices(3, 4, 5) As Long



Я так глянул, что List тоже в VB/NEt присутствует. Его использовать даже предпочтительнее.

Не нашел никаких запрещений загонять контролы в массив или коллекцию
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38938806
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2, так я и привел пример этого 17518231
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38954525
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,
Вставляю ваш код, жалуется тип CmmandButton не определен?
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38954528
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slava_PskВставляю ваш код, жалуется тип CmmandButton не определен?походу, куда-то не туда вставил
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38954568
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, видимо это для VB6?
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38954582
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slava_PskShocker.Pro, видимо это для VB6?да
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38954591
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2, Не получается сделать тоже в VB.Net относительно обработки события Click для массиива контролов . Не поможете, пожалуйста?
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38954597
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2Дмитрий77Вопрос был про массивы контролов.
Ответ: в .Net так нельзя.
Как это, как это?

Код: c#
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.
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            string[] dir = System.IO.Directory.GetDirectories(@"c:\");
            Label[] label = new Label[dir.Length];
            for (int i = 0; i < label.Length; i++ )
            {
                label[i] = new Label();
                label[i].Text = dir[i];
                label[i].Click += label_Click;
                label[i].Top = i * label[i].Height;
                
            }
            this.Controls.AddRange(label);
         }

       

        private void label_Click(object sender, EventArgs e)
        {
            MessageBox.Show(((Label)sender).Text);
        }
    }




Интересует коллекция, массив PictureBox и отработка на них Click в VB.net
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38954611
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slava_PskИнтересует коллекция, массив PictureBox и отработка на них Click в VB.netа в чем будет принципиальная разница с приведенным примером?
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38954616
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, Данный пример на С. .Click в Vb.Net для элемента массива контролов не проходит.
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38954723
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока ждал помощи сам нашел рабочий вариант.
Код: vbnet
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.
Public Class Form1

    Dim PicArray(30) As PictureBox
    Dim i As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Me.i = 1 To 2
            AddPic()
        Next
    End Sub
    Private Sub AddPic()
        ' Suspend the form layout and add two buttons.
        Me.SuspendLayout()
        Dim picture As New PictureBox()
        picture.Location = New Point(10 + (i - 1) * 300, 10)
        picture.Size = New Size(75, 25)
        picture.BackColor = Color.Black
        'button.Text = "OK" & Str(i)
        AddHandler picture.Click, AddressOf PicAll_Click
        Me.Controls.AddRange(New Control() {picture})
        Me.ResumeLayout()
        PicArray(i) = picture
    End Sub

    Private Sub PicAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Click
        If PicArray(1).Capture = True Then
            MsgBox(1)
        End If
    End Sub
End Class
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38955746
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вот видите, стоит немного подумать и никакая помощь не нужна.
Хотя не вижу чем Ваше решение принципиально отличается от моего примера, кроме того, что у меня более быстрое добавление контролов на форму за счет AddRange/

Slava_Psk
Код: vbnet
1.
Me.Controls.AddRange(New Control() {picture})


А это-то зачем? Смысл добавлять массив из одного элемента?

Наверняка достаточно

Код: vbnet
1.
 Me.Controls.Add(picture)
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #38955973
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и нафига нужен PicArray? в vb6 он нужен был лишь для обработки одним хендлером событий нескольких контролов без лишних телодвижений, а в дотнете появилась возможность назначать хендлер кодом, которой не было в шестерке.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Индексированные контроллы в Vb.Net
    #39296933
Cramper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, прошу помощи знатоков. Программно создаю коллекцию PictureBox и прописываю связанные с ее элементами события.
Событие Click нормально отрабатывает, т.е. при клике можно идентифицировать элемент коллекции. Событие MouseHover отрабатывает при наведении указателя мышки на PictureBox, но никак не удается идентифицировать номер элемента коллекции. Помогите пожалуйста разобраться. В планах есть прописать и другие события для элементов коллекции. Вот код:

Код: vbnet
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.
Public Class Form1
    Dim PicArray(30) As PictureBox
    Dim i As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Me.i = 1 To 2
            AddPic()
        Next
    End Sub
    Private Sub AddPic()
        ' Suspend the form layout and add two buttons.
        Me.SuspendLayout()
        Dim picture As New PictureBox()
        picture.Location = New Point(10 + (i - 1) * 300, 10)
        picture.Size = New Size(75, 25)
        picture.BackColor = Color.Red
        'button.Text = "OK" & Str(i)
        AddHandler picture.MouseHover, AddressOf PicAll_MouseHover
        AddHandler picture.Click, AddressOf PicAll_Click
        Me.Controls.AddRange(New Control() {picture})
        Me.ResumeLayout()
        PicArray(i) = picture
        'PicArray(1).Capture = True
    End Sub

    Private Sub PicAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.MouseHover
        If PicArray(1).Capture = True Then
            MsgBox(1)
        End If
        If PicArray(2).Capture = True Then
            MsgBox(2)
        End If
    End Sub

    Private Sub PicAll_MouseHover(ByVal sender As Object, ByVal e As EventArgs)
        TextBox1.Text = 777
        If PicArray(1).Capture = True Then
            MsgBox(1)
        End If
    End Sub



End Class
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #39296968
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cramper,

в PicArray(30) и ищите sender, который первым параметром в обработчике события
...
Рейтинг: 0 / 0
Индексированные контроллы в Vb.Net
    #39296981
Cramper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил,
По моему я это и пытаюсь делать PicArray(1).Capture? Навожу мышку на этот элемент, как его при этом идентифицировать?
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Индексированные контроллы в Vb.Net
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]