Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 28.10.2021
Сообщений: 33

Проблема в использовании using System.Timers; и using System.Threading;

21.03.2022, 07:55. Показов 1679. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте у меня возникает ошибка
Вызывающий поток не может получить доступ к данному объекту, так как владельцем этого объекта является другой поток [дубликат]
Я решил исправить это создав ещё один поток. Но столкнулся с другой проблемой ошибкой
Ошибка CS0104 "Timer" является неоднозначной ссылкой между "System.Timers.Timer" и "System.Threading.Timer".
Я пытался и псевдонимы использовать но тогда ругается событие private void Timer_tick(Object sender, ElapsedEventArgs e)
ElapsedEventArgs красным помечается.
Потом решил использовать "System.Timers.Timer" и using System.Windows.Threading; но тогда он не хочет создавать поток методом Thread mythread = new Thread(fornewthread);
Я в потоках плохо разбираюсь поэтому делаю как здесь
https://www.stackfinder.ru/que... ws-forms-t
Помогите пожалуйста



Если что вот код
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
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Text.RegularExpressions;
using System.Timers;
using System.Threading;
 
namespace DigitalSkills2017_aviakompania
{
    /// <summary>
    /// Логика взаимодействия для MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private static AviacompaniaEntities db = Class.Connect.GetConnect();
        private Timer timerLogin = new Timer(1000);
        private int timer_seconds = 10;
 
 
        private int NumberLogin = 0;
        private void BtnLogin_Click(object sender, RoutedEventArgs e)
        {
            string password = Class.Hash.HashPassword(TBPassword.Text);
            string email = TBemail.Text;
 
            if (db.Users.Any(u => u.Email == email) == true)
            {
                if (db.Users.Where(u => u.Email == email).Any(p => p.Password == password) == true)
                {
                    foreach (var user in db.Users)
                    {
                        if(user.Email ==email)
                        {
                            if(user.Active==false)
                            {
                                MessageBox.Show("Вы были заблокированы руководством!");
                            }
                            else
                            {
                                View.AdminMenu adminMenu = new View.AdminMenu();
                                this.Visibility = Visibility.Hidden;
                                adminMenu.Show();
                            }
                        }
                    }
                }
                else
                {
                    NumberLogin++;
                    MessageBox.Show("Неправильно введён пароль");
                }
            }
            else
            {
                NumberLogin++;
                MessageBox.Show("Неправильно введён email");
                if (NumberLogin == 3)
                {
                    MessageBox.Show("Зафиксированы три неудачных ошибки входа\nВ течении десяти секунд вход невозможен,\nподождите десять секунд!");
                    LBTimer.Visibility = Visibility.Visible;
                    LBTimer.Content = timer_seconds;
                    timerLogin.Start();
                    timerLogin.Elapsed += Timer_tick;
                    timerLogin.AutoReset = true;
                    BtnLogin.IsEnabled = false;
                }
            }
 
        }
        private void Timer_tick(Object sender, ElapsedEventArgs e)
        {
            if(timer_seconds !=0)
            {
                timer_seconds--;
                LBTimer.Content = timer_seconds;
            }
            else
            {
                timerLogin.Stop();
                timer_seconds = 10;
                BtnLogin.IsEnabled = true;
            }
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.03.2022, 07:55
Ответы с готовыми решениями:

System.Timers.Timer vs System.Threading.Timer
System.Timers.Timer vs System.Threading.Timer. в чем разница если можно примеры....

System.Threading.ThreadStateException при использовании dll
Всем привет! Есть следующая ситуация. Я использую небольшую dll библиотеку для определения комбинаций клавиш (Shift + E, Ctrl + C...

Конкурируют ли потоки System::Threading при использовании разделяемых данных?
Написал такой код для потоков с разделяемыми данными в виде вектора std::vector&lt;int&gt; vec: #include &lt;iostream&gt; #include...

1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
21.03.2022, 13:03
Лучший ответ Сообщение было отмечено ArchSeib как решение

Решение

Цитата Сообщение от ArchSeib Посмотреть сообщение
Я в потоках плохо разбираюсь поэтому делаю как здесь
Если б токо в потоках....
WPF это не Формы. И основной способ получения значений UI элементами в WPF являются Привязки к Контексту Данных.
Code Behind Окна желательно вообще не использовать, особенно начинающим.

Объяснять нюансы не буду - захотите нормально научиться сами сможете найти.

В данном случае замените таймер на DispatcherTimer.
Но сразу пишу - это ещё один костыль в кучу уже имеющихся.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2022, 13:03
Помогаю со студенческими работами здесь

System.Timers.Timer и Lock
Добрый день. Почитал немного про Thread Safety, про ThreadPool, про синхронизацию потоков. Но всё равно что-то не сходится, потому...

Ошибка Unit OTKRITIY_KOD; interface uses System, System.Drawing, System.Windows.Forms; {$reference 'System.Drawing.dll
Добрый день, друзья! Подскажите, пожалуйста. Программа выдает ошибку: ошибка Unit OTKRITIY_KOD; interface uses System, System.Drawing,...

Где найти System.Timers.dll
Создаю программку в Visual Studio, при записи строчки: using System.Timers; выходит ошибка &quot;Имя типа или пространства имён...

Замерить время выполнения с помощью System.Timers
здраствуйте, в общем-то мне нужно узнать время за которое выполняется цикл используя 'using System.Timers' private static...

Работа с потоками как в System.Timers.Timer
Есть класс-одиночка(singleton), необходимо чтобы каждый вызов его метода выполнялся в новом или заранее созданном отдельном потоке. Мне...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru