Как показать курсор сразу при запуске приложения? - PullRequest
3 голосов
/ 18 января 2012

Мое приложение запускается немного, потому что пользовательский интерфейс довольно тяжелый. Я хочу показать курсор Cursors.AppWaiting в тот момент, когда пользователь дважды щелкает по ярлыку. Таким образом, я вставляю Cursor.Current = Cursors.AppStarting; в конструктор основной формы. Однако когда я запускаю приложение, курсор не меняется до тех пор, пока форма не будет загружена.

Есть ли способ изменить курсор сразу после того, как пользователь дважды щелкнет по ярлыку?

Ответы [ 3 ]

4 голосов
/ 18 января 2012

Что ж, вы можете выполнить работу, используя Background Worker и UseWaitCursor свойство для изменения курсора.

var bw = new BackgroundWorker();
UseWaitCursor = true;
bw.DoWork += (s, e) =>
{
    //do work.. 
};

bw.RunWorkerCompleted += (s, e) =>
{
   Invoke((Action)(() => UseWaitCursor = false)); 
};
bw.RunWorkerAsync();
3 голосов
/ 18 января 2012

Попробуйте добавить

Application.DoEvents(); 

После смены курсора.

0 голосов
/ 18 января 2012

Просто сверните MainGrid, пока приложение не загрузится

Ссылка на конвертер

<Window.Resources>
    <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
</Window.Resources>

Элемент XAMLСсылка

 Visibility="{Binding Path=IsLoaded, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...