Рейтинг:
1
OriginalGriff
Изменить это:
BackUpTimer.Interval = Convert.ToInt32(2000);
До настоящего времени:
BackUpTimer.Interval = Convert.ToInt32(2000 * 60);
Member 12386982
не работать
phil.o
Что значит "не работает" означает? Interval
выражается в виде числа миллисекунды, поэтому, когда вы указываете 2000 МС, это означает 2 с. И ничего не делается по тиканью таймера, иначе вы его не показывали.
Пожалуйста, помогите нам помочь вам и предоставить гораздо более разумную информацию, чем общее "не работает".
OriginalGriff
"Это не работает", вероятно, самый бесполезный отчет о проблеме, который мы получаем - и мы получаем его много. Она ничего не говорит нам о том, что происходит или когда это происходит.
Итак, расскажите нам, что он делает, чего вы не ожидали, или не делает, что вы сделали.
Расскажите нам, что вы сделали, чтобы это произошло.
Сообщайте нам о любых сообщениях об ошибках.
phil.o
Convert.ToInt32(2000 * 60)
Гул... :)
OriginalGriff
Да... Я думаю, что операция немного не в его духе ...
Member 12386982
сэр...элемент управления не входит в класс резервного копирования.. для редактирования xml-файла... я хочу автоматическое редактирование.. плз помогите
phil.o
Пожалуйста, смотрите решение 2. Ваш обработчик событий или, по крайней мере, то, что вы показали из него, в данный момент ничего не делает. Вы забыли использовать в нем свой резервный класс?
OriginalGriff
Это все равно не рассказать нам что-нибудь!
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Итак, расскажите нам, откуда вы знаете, что происходит, что вы пытались сделать, чтобы выяснить, почему, что произошло, когда вы это сделали. И перестаньте пытаться печатать как можно меньше - это не поможет ни вам, ни нам. Если вы не дадите нам актуальную информацию для работы, Все, что мы можем сделать, это продолжать идти "и? Что случилось?" и это отнимает ваше и наше время.
Помогите нам помочь вам!
Member 12386982
сэр, я хочу запустить свое приложение автоматически через определенные промежутки времени, например через 2 минуты. и отредактируйте xml-файл с текущим временем. поэтому я использовал нить и таймер. я создал форму и класс ( backup.cs ).
//Код формы
использование системы;
использование системы.Коллекции.Общий;
использование системы.ComponentModel;
использование System.Data;
использование системы.Рисование;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;
использование системы.Окна.Формы;
использование системы.Нарезание резьбы;
с помощью Microsoft.С Win32;
пространство ь
{
общественности частичного класс form1 : форма
{
Резервное копирование objBackup = новый резервного копирования();
NotifyIcon notifyIcon = новый NotifyIcon();
Объект registrykey Рег = регистр.Текущий пользователь.OpenSubKey("Software\корпорация Майкрософт\каталог\Windows\\CurrentVersion равное\\однократный запуск", правда);
открытый form1()
{
reg.SetValue("DBTool", приложение.Исполняемый путь.Метод toString());
метод InitializeComponent();
Thread splashthread = new Thread(new ThreadStart(objBackup.резервная копия));
брызгун.IsBackground = true;
пробовать
{
//objBackup.Адрес();
Система.Таймеры.Таймер BackUpTimer = новая система.Таймеры.Таймер();
BackUpTimer.Интервал = Преобразование.ToInt32(2000 * 60 );
BackUpTimer.Истекшее время += новая система.Таймеры.ElapsedEventHandler(MyTimer_Elapsed);
BackUpTimer.Начать();
}
поймать (исключение бывший)
{
Ящик для сообщений.Показать(напр.сообщение);
}
}
частная MyTimer_Elapsed недействительным(объект отправителя, система.Таймеры.ElapsedEventArgs е)
{
objBackup.резервная копия();
}
}
}
//Код резервного класса
использование системы;
использование системы.Коллекции.Общий;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;
использование системы.ИО;
использование System.Xml;
пространство ь
{
резервная копия открытого класса
{
строка path = Environment.GetFolderPath(Environment.Специальная папка.Личный);
резервный общественного недействительными ()
{
использование (XmlWriter writer = XmlWriter.Создать(путь+"\\BackupDetails.xml"))
{
писатель.WriteStartElement("Резервные Копии");
писатель.WriteElementString("Time", DateTime.Now.ToString());
писатель.WriteEndElement();
писатель.Промывать();
}
}
}
}
Member 12386982
моя проблема заключается в том, что элемент управления даже не входит в класс резервного копирования при первом запуске. о чем я уже упоминал
Thread splashthread = new Thread(new ThreadStart(objBackup.резервная копия));
OriginalGriff
Конечно, это не так - вы же не говорили ему об этом!
У вас нет метода конструктора класса, поэтому создание нового экземпляра резервной копии автоматически не выполняет ни один из ваших кодов, и ваш поток никогда не запускается.
Что показывает отладчик, когда выполняется ваш истекший обработчик?
Member 12386982
я изменил код формы, как показано ниже.. так что элемент управления входит в класс..
открытый form1()
{
reg.SetValue("DBTool", приложение.Исполняемый путь.Метод toString());
метод InitializeComponent();
Thread splashthread = new Thread(new ThreadStart(objBackup.резервная копия));
брызгун.IsBackground = true;
брызгун.Начать();
пробовать
{
//objBackup.Адрес();
Система.Таймеры.Таймер BackUpTimer = новая система.Таймеры.Таймер();
BackUpTimer.Интервал = Преобразование.ToInt32(2000 * 60 );
BackUpTimer.Истекшее время += новая система.Таймеры.ElapsedEventHandler(MyTimer_Elapsed);
BackUpTimer.Начать();
}
поймать (исключение бывший)
{
Ящик для сообщений.Показать(напр.сообщение);
}
}
Member 12386982
теперь я хочу запустить приложение автоматически.. пожалуйста, помогите..
OriginalGriff
Ты каждый раз показываешь нам одно и то же, ты не говоришь нам ничего полезного или даже нового.
Сделай шаг назад, забудь код. Я сижу перед своим компьютером. Я установил ваше готовое приложение и ничего о нем не знаю. Я перезагрузил свой компьютер, и у меня есть совершенно пустой экран, за исключением значка вашего приложения на моем рабочем столе. Что я должен сделать теперь, и что я должен ожидать?
Member 12386982
после того, как вы установили мое приложение, оно будет работать автоматически, когда вы на своем компьютере. и будет автоматически запускаться через определенный промежуток времени и обновлять xml-файл (обновление текущего времени).
https://drive.google.com/file/d/1XCyYkLf7pwb-mIb3WIAoT0t9cU6tYwGL/view?usp=sharing
ссылка содержит мое приложение
OriginalGriff
Вы не можете сделать это в своем коде!
Чтобы сделать это, вы должны сказать операционной системе, чтобы она либо запускала ваше приложение при запуске, либо запускала его в определенные периоды. Вы добавите эту функциональность как часть своего приложения Настройки, и для этого, вероятно, потребуется повышение уровня.
Ваше приложение не может запустить таймер и выйти, ожидая, что таймер будет делать что-то каждые две минуты, несмотря на то, что ваше приложение больше не работает!
Member 12386982
как я должен это делать.
OriginalGriff
А что вы пробовали?
Member 12386982
я не знаю, как это сделать ... я много гуглил..
Member 12386982
Пожалуйста, помогите...