Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Вопрос по С#

399  1 2 3 все
monstrello72 знакомое лицо29.08.09 13:15
29.08.09 13:15 
Подскажите пожалуйста как можно написать программу на С# по нижеследующей картинке. В общем нужно при нажатии на кнопку Start пошел прогресс от 0 до 100%( Progress-Bar), а внизу чтобы при этом шли цифрами количество процентов(Label). И нужно чтобы в то время пока идет прогресс(и соответственно проценты) нельзя бы былобы его остановить кнопками (Button) "Start" и "Zuruecksetzen". А с помощью кнопки "Schlissen" все это дело закрыть.
#1 
viger2 постоялец29.08.09 15:05
viger2
NEW 29.08.09 15:05 
в ответ monstrello72 29.08.09 13:15
все очень просто, вставь в проект таймер, изначально его отключив,
в нем можно создать евентфункцию "тик",
сделать чтоб тик вызывался например каждую секунду.
когда давиш на кнопку старт запускаеш таймер и обнуляеш счетчик.
и enable = false на соответсвующие кнопки.
каждый раз когда будет тик инкрементируеш счетчик,
изменяеш Progress-Bar, выводиш проценты и если счетчк дошел до максимума.
то останавливаеш таймер, счетчик и разрешаеш давить на все кнопки
как то так... удачи!
все что вы сделаете в интернете может быть использовано против вас!
#2 
monstrello72 знакомое лицо29.08.09 15:12
NEW 29.08.09 15:12 
в ответ viger2 29.08.09 15:05
Я не знаю как вообще в виде кода запустить Progress и Проценты( как это в виде кода сделать). Конечно спасибо, но нельзя быбыло это сделать в виде кода( я новичек в программировании)
#3 
Murr коренной житель29.08.09 15:15
Murr
NEW 29.08.09 15:15 
в ответ monstrello72 29.08.09 15:12
Я не знаю как вообще в виде кода запустить Progress и Проценты( как это в виде кода сделать).
-----
Progress запускать не надо. Он всего лишь отрисовывает что ему задано - смотри минимальное, максимальное и текущее значение.
Ну а по поводу Процентов - это в школу, в 5-й класс...
#4 
viger2 постоялец29.08.09 15:23
viger2
NEW 29.08.09 15:23 
в ответ monstrello72 29.08.09 15:12
в виде кода, немогу сорри, нет времени...
у прогрессбара есть имя свойсва, их можно редактировать в самом ГУИ дизайнере,
например начальное и максимальное значение.
а также с ними можно "общатся" из кода (если конечно код имеет право допуска)
в коде вводиш имя потом точку и автоматически паказываются все публичные переменные
и функции этого класса. Выбираеш там "value" кажется и туда пишеш проценты...
все что вы сделаете в интернете может быть использовано против вас!
#5 
monstrello72 знакомое лицо29.08.09 18:23
NEW 29.08.09 18:23 
в ответ viger2 29.08.09 15:23
Вот что я накопал в Hilfe,мой ProgressBar называется (Name)Progress. Проценты идут так: нажимаю Start , и примерно через секунд 30 (не бежит от 1 до 100) появляется 100. Подправьте пожалуйста где что не так( а Прогресс вообще не бежит)
private void Start_Click(object sender, EventArgs e)
{
Progress1.Visible = true;
Progress1.Minimum = 1;
Progress1.Maximum = Progress.100;
Progress1.Value = 1;
Progress1.Step = 1;
for (int i = 1; i <= Progress.100; i++);
{
System.Threading.Thread.Sleep(100);
Prozent.Text = i.ToString();
if (CopyFile(Progress[i - 1]) == true);
Progress1->PerformStep();

}
}
#6 
NightWatch коренной житель29.08.09 18:51
NightWatch
NEW 29.08.09 18:51 
в ответ monstrello72 29.08.09 18:23
В ответ на:
(не бежит от 1 до 100) появляется 100
Ну, ты же прогрессу обновиться не даешь.
#7 
monstrello72 знакомое лицо29.08.09 19:08
NEW 29.08.09 19:08 
в ответ NightWatch 29.08.09 18:51
а как это сделать?
#8 
monstrello72 знакомое лицо29.08.09 19:12
NEW 29.08.09 19:12 
в ответ viger2 29.08.09 15:05
В ответ на:
в нем можно создать евентфункцию "тик",
сделать чтоб тик вызывался например каждую секунду.

А как это сделать?
#9 
NightWatch коренной житель29.08.09 19:27
NightWatch
NEW 29.08.09 19:27 
в ответ monstrello72 29.08.09 19:08
А не, ошибся. Progress1.PerformStep(); обновляет.
А вот это тебе все и портит.
for (int i = 1; i <= Progress.100; i++);
Ты на каком языке вообще пишешь?
#10 
monstrello72 знакомое лицо29.08.09 19:39
NEW 29.08.09 19:39 
в ответ NightWatch 29.08.09 19:27
на С#
#11 
NightWatch коренной житель29.08.09 19:45
NightWatch
NEW 29.08.09 19:45 
в ответ monstrello72 29.08.09 19:39
И что, это Progress1->PerformStep(); компилится?
слишком много у тебя ;
#12 
monstrello72 знакомое лицо29.08.09 19:53
NEW 29.08.09 19:53 
в ответ NightWatch 29.08.09 19:45
Я точно не знаю ,т.к. нашел этот вариант в разделе помощи в Visual C#. Может подскажешь как правильно это сделать?
#13 
NightWatch коренной житель29.08.09 20:20
NightWatch
NEW 29.08.09 20:20 
в ответ monstrello72 29.08.09 19:53
Дык, научись копировать тогда msdn.microsoft.com/en-us/library/system.windows.forms.progressbar.perform...
#14 
monstrello72 знакомое лицо29.08.09 20:32
NEW 29.08.09 20:32 
в ответ NightWatch 29.08.09 20:20
А что писать вместо pBar1,filenames,CopyFile
#15 
NightWatch коренной житель29.08.09 20:40
NightWatch
NEW 29.08.09 20:40 
в ответ monstrello72 29.08.09 20:32
Ну, ты описание примера читал?
По-моему все очевидно.
#16 
monstrello72 знакомое лицо29.08.09 20:51
NEW 29.08.09 20:51 
в ответ NightWatch 29.08.09 20:40
Насколько я понял pBar1-это имя моего ProgressBar, а Length это как я понял :100 А вот про filenames я ничего там не понял может подскажешь?
#17 
viger2 постоялец29.08.09 21:48
viger2
NEW 29.08.09 21:48 
в ответ monstrello72 29.08.09 18:23
короче както так...
private void Start_Click(object sender, EventArgs e)
{
Progress1.Visible = true;
Progress1.Minimum = 1;
Progress1.Maximum = 100;
Progress1.Value = 1;
Progress1.Step = 1;
for (int i = 1; i <= 100; i++);
{
System.Threading.Thread.Sleep(100);
Prozent.Text = i.ToString();
//if (CopyFile(Progress[i - 1]) == true); // нафиг ненужно
//Progress1->PerformStep(); // нафиг ненужно
Progress1.Value = i ;
}
}
все что вы сделаете в интернете может быть использовано против вас!
#18 
viger2 постоялец29.08.09 21:58
viger2
NEW 29.08.09 21:58 
в ответ monstrello72 29.08.09 19:08
В ответ на:
а как это сделать?

что именно?
в дизайнере ГУИ есть "Tools", там же где ты "брал для рисования" кнопки или процессбар и т.д.
там есть таймер, его заносиш в ГУИ, он появится правда снизу под самой формой,
потом давиш на него правой кнопкой мышки и выбираеш "проперти" (в немецкой версии кажется Eigenschaft)
в проперти есть две таб свойства и функции, давиш на функции и там допельклик на "тик"
www.c-sharpcorner.com/UploadFile/mahesh/WorkingwithTimerControlinCSharp11...
все что вы сделаете в интернете может быть использовано против вас!
#19 
monstrello72 знакомое лицо29.08.09 22:18
NEW 29.08.09 22:18 
в ответ viger2 29.08.09 21:48
не получается, выдает ошибки
#20 
viger2 постоялец29.08.09 22:29
viger2
NEW 29.08.09 22:29 
в ответ monstrello72 29.08.09 13:15
В ответ на:
Подскажите пожалуйста как можно написать программу на С# по нижеследующей картинке.

интересно, откуда ты береш такие задания?
может стоит взять просто книжку типа C# за 21 день или тому подобное...
в таких книгах обычно каждый промежуточный шаг описан, что за чем делать...
просто иногда когда человек говорит "я незнаю как это зделать", невсегда знаеш что именно он незнает
а что знает... может ему просто одного промежуточного шага нехватает а может у него просто нет
именно базовых знаний... и получается что говориш на разных языках...
вспоминается случай рассказанный моим другом, как что было точно незнаю, но суть такова,
к ним приехали заказчики или партнеры из Испании, и он должен был обьяснить принцип работы их продукта
одному из испанских коллег, через пару дней им пришлось прекратить это делать, т.к. у этого
человека небыло элементарных технических знаний. Как можно обяснить человеку о микропроцессорной
системе который незнает что такое двоичная система... ? Он оказался экономистом, а отправили его
перенимать опыт только потому что он хорошо знал немецкий язык...
Я к чему это, просто попробуй поработать с книжкой где каждый шаг разжеван, и возможно будет меньше вопросов возникать.
и обучение будет намного эффективней... Хотя с другой стороны эффективность обучения будет еще намного выше если
приходится сталкиватся лбом с проблемами и решать их, как например у тебя в данном случае!
Удачи!
все что вы сделаете в интернете может быть использовано против вас!
#21 
viger2 постоялец29.08.09 22:31
viger2
NEW 29.08.09 22:31 
в ответ monstrello72 29.08.09 22:18
убери точку с запятой после for (int i = 1; i <= 100; i++);
все что вы сделаете в интернете может быть использовано против вас!
#22 
monstrello72 знакомое лицо29.08.09 22:47
NEW 29.08.09 22:47 
в ответ viger2 29.08.09 22:31
Уважаемый viger_2 спасибо за советы. Я учусь на курсах в Taylorix(изучаю С#) там нам дают такие задания. Но все-таки хотелось бы решить эту задачку. Если у тебя будет время посмотри пожалуйста(начальные условия ты знаешь).Заранее благодарен!
#23 
viger2 постоялец29.08.09 23:25
viger2
NEW 29.08.09 23:25 
в ответ monstrello72 29.08.09 22:47
В ответ на:
Я учусь на курсах в Taylorix(изучаю С#) там нам дают такие задания. Но все-таки хотелось бы решить эту задачку. Если у тебя будет время посмотри пожалуйста(начальные условия ты знаешь).Заранее благодарен!

к сожалению у меня нет visual studio на домашнем компьютере.
в принципе, в своем первом посте я написал как можно действовать...
с таймером хоть чтонибудь получилось? а с твоим вторым ходом решения, что вышло? ошибок больше нет?
все что вы сделаете в интернете может быть использовано против вас!
#24 
Alexa- гость30.08.09 10:06
Alexa-
NEW 30.08.09 10:06 
в ответ viger2 29.08.09 22:29
Вот это точно не выдает ошибок
В ответ на:
private void button1_Click(object sender, EventArgs e)
{
Progress1.Visible = true;
Progress1.Minimum = 1;
Progress1.Maximum = 100;
Progress1.Value = 1;
Progress1.Step = 1;


for (int i = 1; i <= 100; i++)
{
System.Threading.Thread.Sleep(100);
Progress1.Value = i;

}
}

А как сделать,чтобы в Label проценты отображались,то не знаю.
Если просто написать с Progress1.Value(i); то он ругается.Не потходит также label1.Text = i ; так как он не хочет int в string конвертировать
#25 
NightWatch коренной житель30.08.09 11:29
NightWatch
NEW 30.08.09 11:29 
в ответ Alexa- 30.08.09 10:06
В ответ на:
Если просто написать с Progress1.Value(i); то он ругается.
Может потому, что у ProgressBar такого метода нет?
В ответ на:
Не потходит также label1.Text = i ; так как он не хочет int в string конвертировать
А если так? label1.Text = i.ToString();
#26 
monstrello72 знакомое лицо30.08.09 12:31
NEW 30.08.09 12:31 
в ответ NightWatch 30.08.09 11:29
Я тоже так сделал. Но он при этом показывает когда полосочка прошла цифру 100(нет такого , чтобы от 1до 100)
#27 
monstrello72 знакомое лицо30.08.09 12:40
NEW 30.08.09 12:40 
в ответ viger2 29.08.09 23:25
В ответ на:
с таймером хоть чтонибудь получилось?

В свойствах таймера нет тик , есть Tag, если это одно и тоже, то как его использовать. А с прогресс баром с помощью Alexa все получилось!!!(кстати приветствую старую знакомую!!! и большое спасибо за прогрессбар!!!) Теперь при нажатии на кнопку Start идет прогресс(Label стоит пока прогресс идет и в конце появляется 100)
#28 
NightWatch коренной житель30.08.09 12:53
NightWatch
NEW 30.08.09 12:53 
в ответ monstrello72 30.08.09 12:31
private void button1_Click(object sender, EventArgs e)
{
Progress1.Visible = true;
Progress1.Minimum = 1;
Progress1.Maximum = 100;
Progress1.Value = 1;
Progress1.Step = 1;
for (int i = 1; i <= 100; i++)
{
Progress1.PerformStep();
label1.Text = i.ToString();
label1.Update();
System.Threading.Thread.Sleep(100);
}
}
#29 
NightWatch коренной житель30.08.09 12:55
NightWatch
NEW 30.08.09 12:55 
в ответ monstrello72 30.08.09 12:40
В ответ на:
В свойствах таймера нет тик
Потому что это событие.
#30 
monstrello72 знакомое лицо30.08.09 13:21
NEW 30.08.09 13:21 
в ответ NightWatch 30.08.09 12:55
Cпасибо NightWatch!!! Теперь проценты идут!!!
А как сделать, чтобы срабатывали Zuruecksetzen и Schlissen?
#31 
NightWatch коренной житель30.08.09 13:25
NightWatch
NEW 30.08.09 13:25 
в ответ monstrello72 30.08.09 13:21, Последний раз изменено 30.08.09 13:26 (NightWatch)
В ответ на:
Zuruecksetzen

Progress1.Visible = false;
Progress1.Value = 1;
В ответ на:
Schlissen
this.Close();
например
#32 
viger2 постоялец30.08.09 13:29
viger2
NEW 30.08.09 13:29 
в ответ monstrello72 30.08.09 12:40
В ответ на:
В свойствах таймера нет тик , есть Tag,

я же написал,
давиш правой кнопкой мышки на таймер выбираеш проперти
а там на Event или события..

доппельклик на клетку радом с "Тick" и ты автоматически попадаеш в функцию в самом теле программы...
все что вы сделаете в интернете может быть использовано против вас!
#33 
viger2 постоялец30.08.09 13:36
viger2
NEW 30.08.09 13:36 
в ответ monstrello72 30.08.09 13:21, Последний раз изменено 30.08.09 13:38 (viger2)
кстати, такой путь решения без разделения процессов,
т.е. в где в функцию
В ответ на:
private void button1_Click(object sender, EventArgs e)

вставляются процесс который длится долгое время ( в данном случае 10 секунд System.Threading.Thread.Sleep(100) умножить 100 раз)
очень нерекомендуется! поэтому лучше пользоватся таймером.
ГУИ нежелательно прерывать на длительное время.
все что вы сделаете в интернете может быть использовано против вас!
#34 
NightWatch коренной житель30.08.09 13:40
NightWatch
NEW 30.08.09 13:40 
в ответ viger2 30.08.09 13:36, Последний раз изменено 30.08.09 13:52 (NightWatch)
В ответ на:
поэтому лучше пользоватся таймером.
Почему? Не вижу связи.
#35 
Murr коренной житель30.08.09 14:02
Murr
NEW 30.08.09 14:02 
в ответ viger2 30.08.09 13:36
поэтому лучше пользоватся таймером.
------
Почитай внимательнее про таймер. Особенно в плане возможных казусов...
Уверяю тебя - будешь весьма удивлен...
#36 
viger2 постоялец30.08.09 14:15
viger2
NEW 30.08.09 14:15 
в ответ NightWatch 30.08.09 13:40
В ответ на:
Почему? Не вижу связи.

для данного примера может и ненужно, но
цель процессбара графически отображать состояние какогото параллельного процесса,
например процесс передачи данных, который в неопределенный момент времени
"говорит" сейчас прошло там 20% данных и т.д.
и что все это время ГУИ должна быть в подвешенном состоянии?
а при помоши таймера как раз можно и симулировать такой внешний процесс,
пусть он и несовсем асинхронен...
надеюсь я понятно выразился?....
все что вы сделаете в интернете может быть использовано против вас!
#37 
NightWatch коренной житель30.08.09 14:17
NightWatch
NEW 30.08.09 14:17 
в ответ viger2 30.08.09 14:15, Последний раз изменено 30.08.09 14:17 (NightWatch)
В таком случае таймер здесь абсолютно не верный подход.
Используются потоки.
#38 
viger2 постоялец30.08.09 14:25
viger2
NEW 30.08.09 14:25 
в ответ Murr 30.08.09 14:02
В ответ на:
Почитай внимательнее про таймер. Особенно в плане возможных казусов...
Уверяю тебя - будешь весьма удивлен...

согласен, казусы могут непременно быть, например при отладке в реальном маштабе вемени,
и наверняка требуются публичные переменные для счетчка и возможно дополнительная логика
которая включает/выключает таймер, запрещает "тик" на время пока он необработаеся и т.д.
Но согласись, что для данного случая таймер, который дает "тик" каждые 0.5 сек вполне достаточно,
чтобы симулировать внещний процесс? или?
все что вы сделаете в интернете может быть использовано против вас!
#39 
viger2 постоялец30.08.09 14:30
viger2
NEW 30.08.09 14:30 
в ответ NightWatch 30.08.09 14:17
В ответ на:
В таком случае таймер здесь абсолютно не верный подход.
Используются потоки.

с потоками еще сложнее работать, во всяком случае для начинающего программиста,
а таймер уже готовый класс, где нужно минимум знаний... главное его запустить в
нужное время с нужными параметрами, обработать тик и выключить когда
он будет уже ненужен...
все что вы сделаете в интернете может быть использовано против вас!
#40 
NightWatch коренной житель30.08.09 14:37
NightWatch
NEW 30.08.09 14:37 
в ответ viger2 30.08.09 14:30
В ответ на:
где нужно минимум знаний...
Для минимума знаний понятие о разделении процессов не многова-то ли?
Для минимума хватит варианта без таймера.
#41 
viger2 постоялец30.08.09 14:40
viger2
NEW 30.08.09 14:40 
в ответ NightWatch 30.08.09 14:37
В ответ на:
Для минимума хватит варианта без таймера.

возможно ты и прав.
все что вы сделаете в интернете может быть использовано против вас!
#42 
monstrello72 знакомое лицо30.08.09 16:41
NEW 30.08.09 16:41 
в ответ viger2 30.08.09 14:40
По порядку: этот Tick нужно отдельно запускать от Start кнопки или в тело хода Start его какимто образом вставлять?
#43 
monstrello72 знакомое лицо30.08.09 17:27
NEW 30.08.09 17:27 
в ответ viger2 30.08.09 14:40
Очень хотелось бы с Timer разобраться
#44 
Murr коренной житель30.08.09 19:51
Murr
NEW 30.08.09 19:51 
в ответ viger2 30.08.09 14:25
который дает "тик" каждые 0.5 сек
------
Одна из особенностей, об которых надо было бы прочитать, заключается в
том, что хочет - дает, не хочет - не дает... и делает это непредсказуемо...
#45 
Murr коренной житель30.08.09 19:56
Murr
NEW 30.08.09 19:56 
в ответ monstrello72 30.08.09 17:27
Очень хотелось бы с Timer разобраться
-----
Читай документацию. Вдумчиво и внимательно. Стараясь понять что написано.
Бо, если ты будешь когда-нибудь программировать, то нянькаться с тобой не
будут - дадут задачу, сроки и зарплату - дальше выкручивайся как умеешь...
#46 
viger2 постоялец30.08.09 21:56
viger2
NEW 30.08.09 21:56 
в ответ Murr 30.08.09 19:51
В ответ на:
Одна из особенностей, об которых надо было бы прочитать, заключается в
том, что хочет - дает, не хочет - не дает... и делает это непредсказуемо...

на практике пока такого невстречал, раньше тоже тоже с С++ дотнетовский таймер для графического интерфейса использовал,
и никогда с проблемами несталкивался, во всяком случае в незамечал, разве что иногда в дебаге в пошаговой отладке...
Сейчас специально посмотрел, MSDN вроде не о непредсказуемости таймера не пишет...
все что вы сделаете в интернете может быть использовано против вас!
#47 
NightWatch коренной житель30.08.09 21:58
NightWatch
NEW 30.08.09 21:58 
в ответ viger2 30.08.09 21:56
Какой таймер использовал?
#48 
Murr коренной житель30.08.09 22:11
Murr
NEW 30.08.09 22:11 
в ответ viger2 30.08.09 21:56
MSDN вроде не о непредсказуемости таймера не пишет...
------
В МСДНе должны быть описания трех различных таймеров...
Тот, который Timer из .Neta или TTimer из БСБ может "терять" тики.
#49 
NightWatch коренной житель30.08.09 22:16
NightWatch
NEW 30.08.09 22:16 
в ответ Murr 30.08.09 22:11, Последний раз изменено 30.08.09 22:17 (NightWatch)
В ответ на:
Тот, который Timer из .Neta
Если имеешь в виду System.Windows.Forms.Timer, то http://msdn.microsoft.com/en-us/library/xy0zeach.aspx
#50 
Murr коренной житель30.08.09 23:05
Murr
NEW 30.08.09 23:05 
в ответ NightWatch 30.08.09 22:16
Это не мне - это ребятишкам.
Еще ссылочку на функцию SetTimer(?) и мультимиедийный таймер надо бы добавить...
#51 
NightWatch коренной житель31.08.09 08:04
NightWatch
NEW 31.08.09 08:04 
в ответ Murr 30.08.09 23:05
В ответ на:
Еще ссылочку на функцию SetTimer(?)
Ну, System.Windows.Forms.Timer - это только управляемая оболочка этой функции. Так что и ограничения те же.
#52 
Murr коренной житель31.08.09 17:06
Murr
NEW 31.08.09 17:06 
в ответ NightWatch 31.08.09 08:04
это только управляемая оболочка этой функции.
-----
Это детали реализации и знать оные вообщем-то где-то даже и вредно... но все же надо - в целях понимания "как оно работает".
#53 
viger2 постоялец05.09.09 22:11
viger2
NEW 05.09.09 22:11 
в ответ NightWatch 30.08.09 22:16
В ответ на:
Если имеешь в виду System.Windows.Forms.Timer, то http://msdn.microsoft.com/en-us/library/xy0zeach.aspx

да это он...
...your application may not get timer events as often as the Interval property specifies.
The interval is not guaranteed to elapse exactly on time...
ну что, господа NightWatch и Murr вы оказались всетаки правы! Действительно оказалось что на дотнетовский таймер нельзя на 100% пологатся. Причем на практике по иронии судьбы я убеделся в этом как раз на этой неделе, когда делал тест в виртуальной машине под другой операционкой. Причем сначало толком немог понять в чем причина, почему ГУИ так редко обновляется, и действительно дело оказалось в таймере... хотя пришлось немного поизгалятся, что бы это подтвердить т.к. в операционке на vmware практически небыло возможности для дебага,
а на "основной" машине все работало почти без проблем.
Чтож, данный случай подтверждает правило что если чтото невидиш то это неозначает что этого нет.
Я просто недумал что тут могут возникнуть проблемы, года два назад я неделями напролет "охотился" с осциллоскопом за данными на линиях а триггером как раз была программка под дотнетом с таймером, и к счастью или к сожалению мне недовелось усомниться в надежности таимера... наверное мне просто тогда повезло....
все что вы сделаете в интернете может быть использовано против вас!
#54 
voxel3d коренной житель05.09.09 22:37
voxel3d
NEW 05.09.09 22:37 
в ответ viger2 05.09.09 22:11
В ответ на:
Действительно оказалось что на дотнетовский таймер нельзя на 100% пологатся.

Есть мнение, что утверждение некорректно. Win CE позиционируется как RTOS. Там, вероятно, тики таймеров не теряются. И в .Net соответственно тоже.
Dropbox - средство синхронизации и бэкапа файлов.
#55 
  Chipolino старожил06.09.09 11:30
NEW 06.09.09 11:30 
в ответ voxel3d 05.09.09 22:37
В ответ на:
Там, вероятно, тики таймеров не теряются. И в .Net соответственно тоже.

Смотря как таймер реализован.
Если они напрямую использовали rt функции ядра - да, в чем я сомневаюсь.
#56 
NightWatch коренной житель06.09.09 17:32
NightWatch
NEW 06.09.09 17:32 
в ответ viger2 05.09.09 22:11
В ответ на:
Действительно оказалось что на дотнетовский таймер нельзя на 100% пологатся.
.NET здесь не при чем.
#57 
NightWatch коренной житель06.09.09 17:44
NightWatch
NEW 06.09.09 17:44 
в ответ voxel3d 05.09.09 22:37
В ответ на:
Там, вероятно, тики таймеров не теряются
Каких таймеров?
Реализация System.Windows.Forms.Timer (а точнее SetTimer) подразумевает, что тики приходят в виде оконного сообщения WM_TIMER. Отсюда и проблемы.
Если ограничения не устраивают msdn советует использовать System.Threading.Timer. Этот таймер использует коллбэки и точнее, чем оконный.
#58 
viger2 постоялец06.09.09 21:23
viger2
NEW 06.09.09 21:23 
в ответ NightWatch 06.09.09 17:32
В ответ на:
.NET здесь не при чем.

ну это как угодно, этот таймер ведь часть дот нета...
все что вы сделаете в интернете может быть использовано против вас!
#59 
1 2 3 все