русский
Germany.ruForen → Архив Досок→ Programmierung

Вопрос по С#

399  1 2 3 alle
monstrello72 знакомое лицо29.08.09 13:15
NEW 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 
in Antwort monstrello72 29.08.09 13:15
все очень просто, вставь в проект таймер, изначально его отключив,
в нем можно создать евентфункцию "тик",
сделать чтоб тик вызывался например каждую секунду.
когда давиш на кнопку старт запускаеш таймер и обнуляеш счетчик.
и enable = false на соответсвующие кнопки.
каждый раз когда будет тик инкрементируеш счетчик,
изменяеш Progress-Bar, выводиш проценты и если счетчк дошел до максимума.
то останавливаеш таймер, счетчик и разрешаеш давить на все кнопки
как то так... удачи!
все что вы сделаете в интернете может быть использовано против вас!
#2 
monstrello72 знакомое лицо29.08.09 15:12
NEW 29.08.09 15:12 
in Antwort viger2 29.08.09 15:05
Я не знаю как вообще в виде кода запустить Progress и Проценты( как это в виде кода сделать). Конечно спасибо, но нельзя быбыло это сделать в виде кода( я новичек в программировании)
#3 
Murr коренной житель29.08.09 15:15
Murr
29.08.09 15:15 
in Antwort monstrello72 29.08.09 15:12
Я не знаю как вообще в виде кода запустить Progress и Проценты( как это в виде кода сделать).
-----
Progress запускать не надо. Он всего лишь отрисовывает что ему задано - смотри минимальное, максимальное и текущее значение.
Ну а по поводу Процентов - это в школу, в 5-й класс...
#4 
viger2 постоялец29.08.09 15:23
viger2
NEW 29.08.09 15:23 
in Antwort monstrello72 29.08.09 15:12
в виде кода, немогу сорри, нет времени...
у прогрессбара есть имя свойсва, их можно редактировать в самом ГУИ дизайнере,
например начальное и максимальное значение.
а также с ними можно "общатся" из кода (если конечно код имеет право допуска)
в коде вводиш имя потом точку и автоматически паказываются все публичные переменные
и функции этого класса. Выбираеш там "value" кажется и туда пишеш проценты...
все что вы сделаете в интернете может быть использовано против вас!
#5 
monstrello72 знакомое лицо29.08.09 18:23
NEW 29.08.09 18:23 
in Antwort 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 
in Antwort monstrello72 29.08.09 18:23
В ответ на:
(не бежит от 1 до 100) появляется 100
Ну, ты же прогрессу обновиться не даешь.
#7 
monstrello72 знакомое лицо29.08.09 19:08
NEW 29.08.09 19:08 
in Antwort NightWatch 29.08.09 18:51
а как это сделать?
#8 
monstrello72 знакомое лицо29.08.09 19:12
NEW 29.08.09 19:12 
in Antwort viger2 29.08.09 15:05
В ответ на:
в нем можно создать евентфункцию "тик",
сделать чтоб тик вызывался например каждую секунду.

А как это сделать?
#9 
NightWatch коренной житель29.08.09 19:27
NightWatch
NEW 29.08.09 19:27 
in Antwort 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 
in Antwort NightWatch 29.08.09 19:27
на С#
#11 
NightWatch коренной житель29.08.09 19:45
NightWatch
NEW 29.08.09 19:45 
in Antwort monstrello72 29.08.09 19:39
И что, это Progress1->PerformStep(); компилится?
слишком много у тебя ;
#12 
monstrello72 знакомое лицо29.08.09 19:53
NEW 29.08.09 19:53 
in Antwort NightWatch 29.08.09 19:45
Я точно не знаю ,т.к. нашел этот вариант в разделе помощи в Visual C#. Может подскажешь как правильно это сделать?
#13 
NightWatch коренной житель29.08.09 20:20
NightWatch
NEW 29.08.09 20:20 
in Antwort 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 
in Antwort NightWatch 29.08.09 20:20
А что писать вместо pBar1,filenames,CopyFile
#15 
NightWatch коренной житель29.08.09 20:40
NightWatch
NEW 29.08.09 20:40 
in Antwort monstrello72 29.08.09 20:32
Ну, ты описание примера читал?
По-моему все очевидно.
#16 
monstrello72 знакомое лицо29.08.09 20:51
NEW 29.08.09 20:51 
in Antwort 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 
in Antwort 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 
in Antwort 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 
in Antwort viger2 29.08.09 21:48
не получается, выдает ошибки
#20 
1 2 3 alle