Поиск по этому блогу

Показаны сообщения с ярлыком Кнопка. Показать все сообщения
Показаны сообщения с ярлыком Кнопка. Показать все сообщения

среда, 18 апреля 2012 г.

Кнопка STOP

Иногда нужно сделать кнопку, которая останавливала какой-нибудь процесс. (кнопку делал в Win Form' е и WPF) В моём случае я писал генератор случайных последовательностей с бесконечным циклом генерации, мне нужно было остановить генерацию. Самый просто способ создания кнопки Stop:
1 - нужно создать глобальную переменную (булевскую) 

private bool stop = false;

2 - прописать эту переменную перед циклом, который нужно остановить. Пример:

stop = false;
for (int i = 0; i < 10; i++)
            {

                тело цикла
            }

3 - вставить проверку на true или false данной переменной в тело цикла

stop = false;
for (int i = 0; i < 10; i++)
            {

                if (stop == true) break;
            }

4 - сделать кнопку, которая будет изменять значение нашей переменной. Пример:


        private void button2_Click(object sender, RoutedEventArgs e)
        {
            stop = true;
        }

Кнопка готова к работе)

Кнопка очистки всех TextBox' ов на форме в WPF

Задача: на форме есть n - колличество TextBox'ов, их нужно очистить все одновременно нажатием одной кнопки.
Делаем функцию:

void LoopVisualTree(DependencyObject obj)//обнуление текст боксов
        {
            for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
            {

                if (obj is TextBox)
                {
                    ((TextBox)obj).Text = null;
                }
                // РЕКУРСИЯ
                LoopVisualTree(VisualTreeHelper.GetChild(obj, i));
            }

        }

Потом нажимаем на кнопку на форме 2 раза, чтобы перейти в её обработчик и прописываем там(пример!!!!):

private void button10_Click(object sender, RoutedEventArgs e)
        {
           
            LoopVisualTree(this);
                        
        }