Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 0
Регистрация: 15.08.2016
Сообщений: 35
1

Общий метод для всех форм

02.08.2020, 16:56. Просмотров 248. Ответов 3
Метки c# (Все метки)

Есть 3 формы.
Главная, из которой вызываются две других.
Сам вызов в главной форме
C#
1
2
3
4
        Authorization authorization = new Authorization();
        authorization.ShowDialog();
        Settings settings = new Settings();
        settings.ShowDialog();
C#
1
2
3
4
5
static class Program
    {
        public static Authorization authorization;
        public static Settings settings;
        public static Main main;
В форме authorization реализован метод
C#
1
2
3
4
5
6
7
8
9
10
11
12
public static bool IsTrialAlive(string hdd)
 
private void timerdata_Tick(object sender, EventArgs e)
        {
            if (IsTrialAlive(HddUser) == false)
            {
                MessageBox.Show("ТЕСТОВЫЙ ПЕРИОД ОКОНЧЕН.", "Завершение программы", MessageBoxButtons.OK, MessageBoxIcon.Stop);                
                    Task.Delay(500);
                    System.Environment.Exit(1);
                    Application.Exit();                
            }
        }
этот метод вызывается в таймере timerdata.
метод прекрасно отрабатывет в этой форме.
После скрытия данной формы вызывается форма
Settings. В нее передается timerdata из формы
authorization
C#
1
2
 timerdata = Program.authorization.timerdata;
timerdata.Start();
Метод отрабатывает с ошибкой.
Выдается сообщение
MessageBox.Show("ТЕСТОВЫЙ ПЕРИОД ОКОНЧЕН.", "Завершение программы", MessageBoxButtons.OK, MessageBoxIcon.Stop);
в бесконечном цикле.
Что я сделал неправильно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2020, 16:56
Ответы с готовыми решениями:

Общий ресурс для нескольких форм
Прогаю я в WPF, шаблон Modern UI for WPF. Из-за этого есть некоторое отличие, Новые окна не...

Общий DataSet для нескольких форм
Привет всем! Помогите, пожалуйста, решить проблемку... Есть DataSet1, расположенный на форме...

Общий фильтр для выборки данных из главной и подчиненной форм
Всем доброго времени суток! Прошу помощи в следующем вопросе. Есть база данных объектов, созданных...

Общий progressbar для всех загрузок
Добрый день, Ситуация следующая: 1. имеется три кнопки при нажатии на которые загружается три...

3
64 / 41 / 26
Регистрация: 18.03.2018
Сообщений: 210
03.08.2020, 09:47 2
Цитата Сообщение от mabia Посмотреть сообщение
IsTrialAlive(HddUser) == false
Покажи код, который влияет на параметр параметр IsTrialAlive(HddUser)
0
1 / 1 / 0
Регистрация: 15.08.2016
Сообщений: 35
03.08.2020, 13:40  [ТС] 3
вот код
C#
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
public static bool IsTrialAlive(string hdd)
        {
            using (var connectDB = new MySqlConnection(connectionServer))
            {
                connectDB.Open();
                var sqlData = "SELECT DataStopWork FROM DemoTable where HddSNUser = '" + HddUser + "'";
                using (MySqlCommand cmdData = new MySqlCommand(sqlData, connectDB))
                {
                    using (var reader = cmdData.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var ustop = reader.GetDateTime(reader.GetOrdinal("DataStopWork"));
                            stopArenda = ustop;
                        }
                    }
                }
                var sqlCurTime = "SELECT NOW()";
                using (var cmdCurTime = new MySqlCommand(sqlCurTime, connectDB))
                {
                    var dtStartArenda = cmdCurTime.ExecuteScalar().ToString();
                    var dtStartWork = DateTime.Parse(dtStartArenda);
                    startArenda = dtStartWork;
                }
            }
            return stopArenda > startArenda;
        }
0
1 / 1 / 0
Регистрация: 15.08.2016
Сообщений: 35
04.08.2020, 19:50  [ТС] 4
вопрос решен.
В обработчике события timerdata_Tick
необходимо было остановить таймер.
timerdata.Stop();
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2020, 19:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Общий обработчик для всех страниц
Добрый день. Еесть вот такой участок кода protected override void OnPreInit(EventArgs e) ...

type для всех форм
Доброго времени суток! Подскажите пожалуйста, как можно объявить тип и переменную для 2 форм? Т.е....

Нужно открыть общий доступ к серверу 1С только для бухгалтерии, а для всех остальных, закрыть его.
Всем здравствуйте. Имеется такая конфигурация: DC сервер - Доменный сервер в который заведены...

Общий чат для всех пользователей на silverlight2
привет! появилась такая необходимость - как разместить на моей страничке - общий чат для...

Одна переменная для всех форм
Есть число, в одной форме показвается его значение, в других (их много) можно менять его. Как...

Полноэкранный режим для всех форм
Привет всем, есть ли такой код программы в дельфи 7, чтобы полноэкранный режим был сразу для всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.