Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/34: Рейтинг темы: голосов - 34, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 6
.NET 4.x

Обновление значения TextBox на форме

22.02.2013, 00:11. Показов 7154. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться, пожалуйста.
Я недавно начал заниматься Сшарпом и вот какая проблема возникла
При разработке базы данных необходимо просмотреть все записи 9строки) таблицы и на их основе построить отчет.
все это сделать удалось и на Windows Forms и на WPF Browser application.
кроме одной мелочи. Поскольу просматривается большое (несколько десятков тысяч) количество записей - программа работает пару минут.
В это время неплохо бы сделать какой-нибудь "оживляж", чтобы пользователь видел, что прога работает, а не висит.
Самый простой способ - я на форме сделал окошко - текстбокс, в который вывожу число - счетчик просмотренных записей.
Так вот - на формсе все работает нормально - числа мелькают, звучок бибикает, пользователи довольны.
А вот для WPF Browser Application мне не удалось так сделать - число выводится только после окончания работы цикла.
Для винформс используется метод .refresh.
Подскажите, кто знает - как это сделать для WPF?
я выложил оба варианта - в архиве. там вместо просмотра базы - простой счетчик от нуля до 333 - главное принцип.
Да, если для этого нужно дополнительно вставить в прогу какие-нибудь дополнтельныу using и ссылки (referenses) для них - не забудьте написать
Заранее благодарен
Вложения
Тип файла: rar HELP!.rar (96.8 Кб, 15 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.02.2013, 00:11
Ответы с готовыми решениями:

TextBox color - Как окрасить на форме TextBox от разного значения
Всем привет У меня вопрос по VB. На форме много TextBox и окрашивать их по индивидуальному значению получается достаточно громоздкий код....

Обновление значения в форме - с разных листов
Доброе утро, форумчане. Помогите решить проблему. Есть макрос - отображающий на форме - значение ячейки. На листе3 работает формула...

Обновление информации в TextBox при изменении значения переменной
Требуется выводить изменение значений переменной в текстбокс( многострочный со скроллированием) после нажания кнопки, запускающей макрос....

9
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
22.02.2013, 10:09
Так пойдет?
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
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.ComponentModel;
 
namespace WpfBrowserApplication4
{
    public partial class Page1 : Page
    {
        BackgroundWorker bwLoader = new BackgroundWorker();
 
        public Page1()
        {
            InitializeComponent();
            bwLoader.DoWork += new DoWorkEventHandler(bwLoader_DoWork);
            bwLoader.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bwLoader_RunWorkerCompleted);
        }
 
        void bwLoader_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            count.Text = "Complete.";
        }
 
        void bwLoader_DoWork(object sender, DoWorkEventArgs e)
        {
            for (int i = 0; i < 333; i++)
            {
                //count.Text = Convert.ToString(i);
                //  Тут по идее должно быть что-нибудь типа рефреша - но никак не могу найти - что?
                Dispatcher.Invoke(new Action(() =>
                {
                    count.Text = Convert.ToString(i);
                    SystemSounds.Beep.Play(); // ну и бибикалка - а как же без нее))) ПРАВДА ВЕДЕТ СЕБЯ НЕМНОГО СТРАННО...   
                    System.Threading.Thread.Sleep(100);
                }));
            }
        }
 
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            bwLoader.RunWorkerAsync();
        }
    }
}
0
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 6
22.02.2013, 13:16  [ТС]
Спасибо за быстрый ответ.
Однако не пошло(((((

А у Вас работает???
Основная идея в том, чтобы значение счетчика менялось ВО ВРЕМЯ РАБОТЫ в цикле.
Я попробовал уже и Label и ProgressBar - эффект тот же - значение меняется только после окончания цикла....
В формсе меняется а в ВПФе - нет - такой вот смешной эффект

кстати - для эксперимента вставил MessageBox - прерывание в явном виде - сразу начало выводить и отображать .
То есть не хватает какого-то "типа" прерывания или явного обновления поля или формы....

Добавлено через 1 минуту
АБЫДНА, ПАНЫМАШьььь...
Явно чего-то недопонимаю.. а почитать негде....

Тяжело плыть в серной кислоте, особенно если нет ни рук ни ног
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
22.02.2013, 15:33
Цитата Сообщение от nalivajkin Посмотреть сообщение
Однако не пошло(((((
Садитесь два. Для юных кодеров не постигших магию копипаста - выкладываю проект целиком.
HELP!.7z
0
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 6
22.02.2013, 16:57  [ТС]
)) Спасибо. дома гляну. Отпишусь обязательно
0
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 6
25.02.2013, 11:40  [ТС]
Еще раз спасибо. однако вопрос не закрыт....
В ЦИКЛЕ НИЧЕГО не выводится.
только по окончании - Complit.
или, если не выводить - конечное значение счетчика (332).
В задаче однако требуется, чтобы выводилось внутри цикла - вот так : 1, 2,3,4,5,6,7,8,9,10..... 332))))

Добавлено через 6 минут
.. если честно - что-то не верится, что все должно быть так сложно..
неужели нет какого-то одного слова? -
в формсе это делается командой Refresh;
На VBA - достаточно написать Me.Repaint а для WPFBrApp такие навороты?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.02.2013, 11:55
freeba, не поправите меня? Что-то плохо выходит. Для консоли получилось, а с диспетчером синхронизировать не получается
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
26
27
28
29
30
31
using System;
using System.Threading;
 
namespace ConsoleApplication37
{
    static class Program
    {
        private static event Action<int> ValueChanged;
 
        private static void OnValueChanged(int x)
        {
            Action<int> handler = ValueChanged;
            if (handler != null)
                handler(x);
        }
 
        static void Main()
        {
            ValueChanged += Console.WriteLine;
            var thread = new Thread(() =>
            {
                for (int i = 0; i < 333; i++)
                {
                    OnValueChanged(i);
                    Thread.Sleep(20);
                }
            });
            thread.Start();
        }
    }
}
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
25.02.2013, 20:36
nalivajkin, Как так? Выкладываю видео. Так должно быть?
http://www.youtube.com/watch?v... e=youtu.be

Psilon, Может не стоит усложнять и заменить OnValueChanged(i); на Dispatcher.Invoke?

Добавлено через 7 минут
Цитата Сообщение от nalivajkin Посмотреть сообщение
.. если честно - что-то не верится, что все должно быть так сложно..
неужели нет какого-то одного слова? -
Одного слова нет. На самом деле можно уложить весь код в две "магические" строчки, но это будет скучно
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.02.2013, 20:59
freeba, хз, я нуп (
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
25.02.2013, 21:10
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
26
27
28
29
30
31
32
33
34
using System;
using System.Windows;
using System.Windows.Controls;
using System.Media;
using System.Threading;
 
namespace WpfBrowserApplication4
{
    public partial class Page1 : Page
    {
        public Page1()
        {
            InitializeComponent();
 
        }
 
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            var thread = new Thread(() =>
            {
                for (int i = 0; i < 100; i++)
                {
                    Dispatcher.Invoke(new Action(() =>
                    {
                        count.Text = Convert.ToString(i);
                        SystemSounds.Beep.Play(); // ну и бибикалка - а как же без нее))) ПРАВДА ВЕДЕТ СЕБЯ НЕМНОГО СТРАННО...   
                        System.Threading.Thread.Sleep(30);
                    }));
                }
            });
            thread.Start();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2013, 21:10
Помогаю со студенческими работами здесь

Обновление текстового поля в форме hta в зависимости от выбранного значения в комбобоксе
Доброго времени суток. Ищу подмоги в решении следующей задачи. Есть база данных в ней таблица &quot;устройства&quot;. В данной таблице...

как сделать автоматическое обновление всех подчинённых форм в кнопочной форме после выбора нужного значения из поля со списком
Доброго времени суток! Помогите, пожалуйста доделать БД!!! Основная проблема - поле со списком. Не знаю как сделать автоматическое...

"Онлайн" обновление поля на форме и занесение полученного значения в БД
Добрый вечер, прошу вашей помощи! В приложенной базе мне необходимо реализовать создания лота закупок из нескольких объектов. ...

Передача значения из OpenDialog в TextBox на общей форме из процедуры нажатия кнопки вызова OpenDialog
Доброго времени суток, уважаемые форумчане. На форме лежат TextBox и Button. Элементы созданы программно. При нажатии на Button вызывается...

Создать n TextBox на второй форме. n вводится в TextBox на первой
Проблема: на первой форме есть textBox в него вводи целое число n, нажимаем ок, и появляется вторая форма, с созданными n textBox-ами. ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru