Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Cursors, wait 
:(
    Опции темы
DenWPF
Дата 25.8.2010, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



нужно было что бы при долгом ответе с сервера появлялся у курсора значек Ожидания.

Mouse.OverrideCursor = Cursors.Wait;
processing...
Mouse.OverrideCursor = Cursors.Arrow;


были не большие проблемы, Mouse.OverrideCursor = Cursors.Arrow; - не всегда срабатывало.
решил проблему:

Код

try
{
Mouse.OverrideCursor = Cursors.Wait;
processing...
}
catch{}
finally
{
    Mouse.OverrideCursor = null;
}


с этим все хорошо, но теперь хочется что бы рядом с курсором была надпись, к примеру "Загрузка..." как это сделать?
PM MAIL   Вверх
CasperSC
Дата 25.8.2010, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 27.11.2009

Репутация: 1
Всего: 1



Короче тут на скорую руку слеплено, думаю сам дальше сможешь сделать, если конечно этот способ тебе подойдёт:
Код

            //Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait;
            GradientStopCollection gradientStopCollection = new GradientStopCollection(2);
            GradientStop GradientStop1 = new GradientStop(Colors.Chocolate, 0.5);
            GradientStop GradientStop2 = new GradientStop(Colors.DarkBlue, 0.5);
            gradientStopCollection.Add(GradientStop1);
            gradientStopCollection.Add(GradientStop2);
            LinearGradientBrush lgb = new LinearGradientBrush(gradientStopCollection);

            TextBlock txtBlock = new TextBlock();
            txtBlock.Text = "Пожалуйста подождите...";
            txtBlock.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
            txtBlock.Margin = new Thickness(10, 0, 0, 0);

            Grid gridMain = new Grid();
            gridMain.Children.Add(txtBlock);

            Window winToolTip = new Window();
            //winToolTip.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
            //winToolTip.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
            winToolTip.Background = lgb;
            winToolTip.Width = 160;
            winToolTip.Height = 20;
            winToolTip.Owner = this;
            winToolTip.Content = gridMain;
            winToolTip.WindowStyle = System.Windows.WindowStyle.None;
            winToolTip.WindowState = System.Windows.WindowState.Normal;
            winToolTip.ResizeMode = System.Windows.ResizeMode.NoResize;

            winToolTip.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;
            winToolTip.Show();


Я конечно многого не пробовал. Возможно подойдёт UserControl или Сделай окно готовое, чтобы кодом не лепить, а потом выводи как подсказку. Можно на событие как нибудь прилепить форму к курсору. Если что нибудь получится, выложи тут, тоже интересно. Ещё можно как то сделать, чтобы форма подгоняла свой размер под содержимое.

Это сообщение отредактировал(а) CasperSC - 25.8.2010, 02:32
PM MAIL   Вверх
Kefir
Дата 25.8.2010, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



Можно и окном, конечно, но мне кажется проще и быстрее через Popup. Обрабатывать MouseMove окна и выставлять оффсеты попапа.
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0435 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.