Помогите с заполнением массива!

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

ugin_95
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 19.07.2009 (Вс) 6:42

Помогите с заполнением массива!

Сообщение ugin_95 » 19.07.2009 (Вс) 7:07

Итак у меня на форме имеется окошко для ввода количества элементов массива TextBox1
И кнопка для начала создания массива Button1
При нажатие на кнопку массив необходимо начать заполнять пользовательскими значениями
есть ещё одно поле для ввода (TextBox2) и кнопка (Button2)
как сделать чтобы цикл "приостанавливался" до нажатия кнопки (Button2) и после этого присвоил элементу массива значение из поля (TextBox2)

Код: Выделить всё
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       If TextBox1.Text <> "" Then 'Проверка не пусто ли поле для ввода количества элементов
            Dim a(TextBox1.Text) As String
            For i = 0 To TextBox1.Text - 1 'Цикл для создания массива
                 'Здесь мне нужен код для приостановки массива до нажатия кнопки (Button2)
                 a(i) = TextBox2.text
            Next
       End If
End Sub

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Помогите с заполнением массива!

Сообщение arvitaly » 19.07.2009 (Вс) 11:09

Используй таймер

ugin_95
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 19.07.2009 (Вс) 6:42

Re: Помогите с заполнением массива!

Сообщение ugin_95 » 19.07.2009 (Вс) 11:20

arvitaly писал(а):Используй таймер

Это просто пример чтобы понять как это сделать... я читал про DoEvents но у меня не работает... встречая в коде DoEvents компелятор пищет что такая переменная не объявлена
таймер это вроде как нагрузка на проц (пусть и очень маленькая)

Я хочу прсто узнать как определить что нажата определённая кнопка не используя для этого циклов и таймеров
и как приостановить выполнение кода до нажатия этой кнопки
Последний раз редактировалось ugin_95 19.07.2009 (Вс) 11:39, всего редактировалось 1 раз.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Помогите с заполнением массива!

Сообщение Nord777 » 19.07.2009 (Вс) 11:23

Application.DoEvents
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Помогите с заполнением массива!

Сообщение MIT » 19.07.2009 (Вс) 11:24

ugin_95 писал(а):кампелятор
:?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

ugin_95
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 19.07.2009 (Вс) 6:42

Re: Помогите с заполнением массива!

Сообщение ugin_95 » 19.07.2009 (Вс) 11:41

MIT писал(а):
ugin_95 писал(а):кампелятор
:?

бывает

Nord777 писал(а):Application.DoEvents


а можно поподробнеи? я только начал ... и желательно показать код..

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Помогите с заполнением массива!

Сообщение Nord777 » 19.07.2009 (Вс) 11:49

я читал про DoEvents но у меня не работает... встречая в коде DoEvents компелятор пищет что такая переменная не объявлена
Какой ещё код? Я же написал уже. DoEvents - это метод класса Application, поэтому писать надо Application.DoEvents
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

ugin_95
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 19.07.2009 (Вс) 6:42

Re: Помогите с заполнением массива!

Сообщение ugin_95 » 19.07.2009 (Вс) 12:15

ну теперь программа реагирует на любое действие а как сделать чтобы реагировала на нажатие определённой кнопки?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Помогите с заполнением массива!

Сообщение Nord777 » 19.07.2009 (Вс) 12:30

ну теперь программа реагирует на любое действие а как сделать чтобы реагировала на нажатие определённой кнопки?
В обработчике нужной кнопки устанавливай значение булевой переменной, а в цикле заполнения массива проверяй её. Если переменная = true - массив не заполняешь(ну или что ты хочешь сделать...)

А то, что программа реагирует на любое действие..., так это уже твоя забота, сделать так, чтобы реагировала на нужные только тебе действия.
Что именно тебя беспокоит? То что жмутся ВСЕ кнопки? Так заблокируй их на период выполнения действий. Enable = false
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

ugin_95
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 19.07.2009 (Вс) 6:42

Re: Помогите с заполнением массива!

Сообщение ugin_95 » 19.07.2009 (Вс) 13:41

Код: Выделить всё
    Public pr As Boolean = False

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       If TextBox1.Text <> "" Then 'Проверка не пусто ли поле для ввода количества элементов
            Dim a(TextBox1.Text) As String
            For i = 0 To TextBox1.Text - 1 'Цикл для создания массива
                    While pr = False
                        Sleep(100)
                        My.Application.DoEvents()
                    End While
                    pr = True
                    a(i) = TextBox2.Text
            Next
       End If
    End Sub

    Public Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        pr = True
    End Sub


Теперь программа просто виснет.... как сделать чтобы программа не висла?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Помогите с заполнением массива!

Сообщение Nord777 » 19.07.2009 (Вс) 13:51

Теперь программа просто виснет....
Почему у меня не виснет, а у тебя виснет?
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

ugin_95
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 19.07.2009 (Вс) 6:42

Re: Помогите с заполнением массива!

Сообщение ugin_95 » 19.07.2009 (Вс) 14:03

а всё спасибо за то, что помогли это у меня в остальном коде понт был вот она и зависла теперь всё работает...


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27

    TopList