Я пишу программу в VB.Net для управления текстовыми сообщениями, отправленными через API. Он позволяет просматривать сообщения в datagridview и фильтровать по дате, отправляться/не отправлять и т.д. ...Сообщайте пользователям, что DataGridView заполняется
Чтобы загрузить сообщения, я выполняю инструкцию SQL и получаю DataTable, который затем устанавливается как DataSource для моего DataGridView контроль.
Проблема в том, что в зависимости от выбранных фильтров пользователь может выбирать множество записей, и для обновления данных потребуется некоторое время. Я хочу сообщить пользователю об этом времени загрузки, указав индикатор выполнения или ярлык какого-либо типа.
Я использовал индикаторы выполнения до того, как перебираю данные, но это загружает все сразу. Я думал о отображении метки, когда пользователь нажимает на загрузку данных, а затем скрывает их при загрузке данных. Но это происходит мгновенно, даже когда данные все еще загружаются.
Есть ли событие в DataGridView, которое я могу использовать, возможно? Что-то вроде .DataSourceLoadStart и .DataSourceLoadFinished.
Я знаю, что я просто делаю эти события ... но, надеюсь, он разъясняет, чего я хочу.
Это делает то, что нужно. Я думаю, что проблема заключается в том, чтобы сделать ярлык видимым при нажатии кнопки загрузки. На данный момент это происходит ... нажмите> показать ярлык загрузки> загружать сообщения> завершение привязки данных (скрыть сообщение снова) Но ярлык не будет отображаться во время загрузки данных. Он показывает метку после заполнения DataGridView и затем снова скрывает ее. Несмотря на то, что мой код выглядит следующим образом:
Значит, он должен сначала показывать этикетку ... ??? – BanfordAdd: Application.DoEvents() после вызова, чтобы показать метку, таким образом он будет расставлять приоритеты показа этикетки перед ее отключением для загрузки сообщений – Tanner
Ссылка MSDN: Doevents(): http://msdn.microsoft. com/en-us/library/system.windows.forms.application.doevents.aspx – Tanner