Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хочу сделать, чтобы при выполнении определенного "продолжительного" действия в программе пользователь видел прогрессбар выполнения.  
Подскажите направление.

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 16:18 14-02-2008
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lihonosov
А в чем проблема? Берешь прогрессбар, кладешь на форму Если проблема в том, что действие тебе не подконтрольно (например, выполняем запрос к СУБД, сколько он будет выполняться - никто не знает), прогрессбар прийдется крутить "от фонаря", лишь бы пользователю было видно, что программа не висит. Для этого можно воспользоваться BackgroundWorker (писал о нем сегодня уже) и выполнять длительную операцию в отдельном потоке, а в основном потоке крутить прогрессбар пока не выполнится фоновая операция. При это нужно иметь в виду, что прямое обращение к элементам GUI из другого потока (отличного от того, в котором этот GUI создавался) запрещено. Сейчас при нарушении этого правила сразу будет исключение, раньше просто малопонятные глюки происходили...

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 17:33 14-02-2008
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig

Цитата:
При это нужно иметь в виду, что прямое обращение к элементам GUI из другого потока (отличного от того, в котором этот GUI создавался) запрещено.

а можно поподробнее о способах как это правильно делать (хотя бы ссылку на русское описание)
...
у меня в проекте по кнопке вызывается функция в отдельном потоке, которая изменяет контрол на главной форме через Инвоки, а вот как определить завершился ли предыдущий запуск у меня не получается

Всего записей: 10492 | Зарегистр. 05-02-2003 | Отправлено: 19:32 14-02-2008
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
V0lt
Держи статью. А что за проблема с инвоками, можно подробнее и с кодом?

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 20:16 14-02-2008 | Исправлено: BaluBig, 20:16 14-02-2008
recvezitor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Стоит задача сделать что то вроде обработчика urloв. К примеру если  в строке забить http://host/category1/list/
 
http://host/category2/list/
 
 http://host/category3/list/
 
То браузер должен перенаправить пользователя на одну и ту же страницу например Category_overview.aspx?CategoryID=1. Создавать виртуаьные директории для всех категорий это не разумно. А как и где лучше сделать перенаправление на нужную страницу
 

Всего записей: 95 | Зарегистр. 21-11-2006 | Отправлено: 07:42 15-02-2008
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
recvezitor
Так тебя что интересует то? Обработка строк, само перенаправление или что?
 
Делается это в Global.asax, там смотри Request.RawUrl, перенаправляй через Response.Redirect/Server.Transfer...

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 10:13 15-02-2008
recvezitor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
все нашел ссылку где это подробно описано http://www.donhost.ru/html/urlrewriting.htm

Всего записей: 95 | Зарегистр. 21-11-2006 | Отправлено: 11:30 15-02-2008
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig

Цитата:
А что за проблема с инвоками, можно подробнее и с кодом?

Проблема в понимании. Например, я не совсем понимаю зачем я должен писать конструкции типа

Код:
 
if (treeView_Folders.InvokeRequired == true)  
{
  treeView_Folders.BeginInvoke(new MethodInvoker(delegate() {Update_tree ();} ));
}
else  
{
Update_tree();
}

Мне надо выполнить Update_tree(), но приходиться проверять InvokeRequired, а зачем? Функция Update_tree() выполнится независимо от результатов проверки, просто в одном случае это будет прямой вызов, в другом через BeginInvoke со своими заморочками

Всего записей: 10492 | Зарегистр. 05-02-2003 | Отправлено: 19:56 15-02-2008 | Исправлено: V0lt, 19:59 15-02-2008
fvgrod



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день. Подскажите как сделать под Visual 2003 C## Таймер.
 
Вроде пример от майкровофта нашел, работает... а вот как самому собрать с нуля так и не разобрался.
 
Помогите пожалуйста!

Всего записей: 98 | Зарегистр. 17-10-2006 | Отправлено: 04:10 16-02-2008
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fvgrod
чем не нравятся System.Timers.Timer, System.Threading.Timer и Windows.Forms.Timer?
 
Добавлено:
И хватит уже Си Шарп называть Си Шарп-Шарпом

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 14:04 16-02-2008 | Исправлено: eLLoco, 14:19 16-02-2008
fvgrod



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
eLLoco
 
Нравяться, я суть вопроса не утчнил в сообщении:
Нужно, что бы секунды отображались онлайн в каком нибудь label.

Всего записей: 98 | Зарегистр. 17-10-2006 | Отправлено: 14:19 16-02-2008
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Метод в лоб - цепляем к событию Elapsed Tick таймера следующий обработчик:

Код:
MyLabel.Text = DateTime.Now.Seconds.ToString();

 
Лучше еще унаследуй свой контрол от Label и добавь туда Timer.

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 14:25 16-02-2008 | Исправлено: eLLoco, 14:27 16-02-2008
lllapoklyak

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На моем ноутбуке стоит Виста. Разумеется я  администратор. Но почему-то    вижуал студия 2005 с  этим не согласна.
Я  пытаюсь открыть старый проект, получить  доступ к IIS и  мне выдается сообщение :
"you must  be   a member  of the Administration  group  on  the local  computer  to access  the IIS metabase"
Я уже даже в свойствах экзешника вижуал студии  поставила галочку "всегда  запускать с правами администратора", но не помогает :(
  Никто не сталкивался?

Всего записей: 4 | Зарегистр. 15-02-2008 | Отправлено: 14:28 16-02-2008
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lllapoklyak
Сталкивался, но следующие действия помогали:
1. Правой кнопкой на ярлыке Студии - Запустить как администратор.
2. Свойства ярлыка поменять на вкладке Совместимость (Запускать как администратор).
 
Если не помогает, можно думать в сторону настройки IIS, может там чего криво выставлено.

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 14:34 16-02-2008 | Исправлено: eLLoco, 14:38 16-02-2008
rafshan713

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос:
пытаюсь написать программку содержащую одну форму с несколькими кнопками на С# (Visual Studio 2008 - Express Edition) под Windows CE 4.2 .NET, установленную на промышленном компьютере, при попытке запустить под данную ОС скомпилированный ехе-ник  вылезает следующая ошибка:  
 
"File or assembly name 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089', or one of its dependencies, was not found."  
 
При том что консольные приложения написанные в той же среде запускаются без проблем.
 
На промышленном компьютере стоит следующее по:
Windows CE 4.2 .NET
.NET Compact Framework 2 SP1
 
процессор на промышленном компьютере - VIA с архитектурой x86.
 
При компиляции программы выставляю соответствующую версию framework (v. 2.0).
 
Возможно кто-то что-то знает поданному вопросу?  
 
ЗЫ: Ранее программы под эту ОС и на этом языке не писал, поэтому заранее извиняюсь если вопрос не корректен.

Всего записей: 1 | Зарегистр. 16-02-2008 | Отправлено: 14:43 16-02-2008 | Исправлено: rafshan713, 14:44 16-02-2008
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
fvgrod

Цитата:
Нужно, что бы секунды отображались онлайн в каком нибудь label.

Онлайн?! Я надеюсь не на aspx-странице? Мучать сервер для показа секунд - это будет просто кощунство! А если 1000 человек одновременно откроет страницу - 1000 запросов на сервер в секунду? Тут только JavaScript.
 
Или это ты так просто выразился и речь идет все-таки о WinForms?

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 15:01 16-02-2008 | Исправлено: EZH, 15:04 16-02-2008
fvgrod



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
EZH
 
На WinForms пытаюсь сделать, что то наподобие секундомера.

Всего записей: 98 | Зарегистр. 17-10-2006 | Отправлено: 16:55 16-02-2008
Ru55



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посоветуйте DB Engine компонент для .NET с шифрованием данных. (Аналогичные компоненты на Delphi - VistaDB, Absolute Database)

----------
Бизнес — увлекательнейшая игра, в которой максимум азарта сочетается с минимумом правил. Билл Гейтс

Всего записей: 312 | Зарегистр. 22-01-2007 | Отправлено: 16:47 17-02-2008
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
V0lt
Проверять InvokeRequired нужно в тех случаях, когда заранее не известно, в каком потоке будет выполняться этот код, в основном потоке формы или в каком-то другом. Если ответ на этот вопрос известен заранее, то соответственно проверка и ветвление не нужно. Кстати, BeginInvoke - это начало асинхронного вызова, по-моему в твоем случае надо бы бы использовать просто синхронный Invoke.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 17:54 17-02-2008
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig
немного почитал rsdn

Цитата:
http://www.rsdn.ru/article/dotnet/CSThreading2.xml
Превосходное решение для управления рабочими потоками в приложениях Windows Forms состоит в использовании BackgroundWorker. Этот класс-обертка для рабочих потоков умеет уведомлять о ходе выполнения операции и ее завершении, и автоматически вызывает Control.Invoke там, где это нужно.

если все так радужно как пишут, то возможно BackgroundWorker для меня лучший выход
...
...
нагло врут, без инвоков получаю InvalidOperationException
 

Цитата:
Кстати, BeginInvoke - это начало асинхронного вызова, по-моему в твоем случае надо бы бы использовать просто синхронный Invoke.

очень может быть, попробую поменять надосуге
 

Всего записей: 10492 | Зарегистр. 05-02-2003 | Отправлено: 20:07 17-02-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru