![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
007700 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 21.12.2011 Репутация: нет Всего: нет |
ВОТ ТАКОЕ ЗАДАНИЕ:
Программа содержит два объекта, каждый из которых представлен окном и содержит свой поток. Эти объекты связаны друг с другом с помощью событий. Каждый поток меняет цвет другого окна с черного на белый через 500 мс. ВОТ ТАКАЯ ПРОГРАММа: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; using System.Drawing; delegate void Del(); class Window : Form { public event Del ev; Thread t; bool life; public Window() { CThread k=new CThread(); this.Text = "Window"; this.Visible = true; Size = new Size(140, 130); this.BackColor = Color.Black; ev+=new Del(Hand); life = true; t = new Thread(new ThreadStart(k.Run)); t.Start(); } public void Hand() { this.Invalidate(); } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); this.BackColor = Color.White; } } class CThread { Thread t; bool life; ~CThread(){life=false;} public event Del ev; public void Start() { if (!life) { life = true; t = new Thread(new ThreadStart(Run)); t.Start(); } } public void Run() { while (life) { if (ev != null) this.ev(); Thread.Sleep(1000); } } } class Exchange { static void Main() { Window s = new Window(); Window f = new Window(); CThread t1 = new CThread(); CThread t2 = new CThread(); t1.Start(); t2.Start(); Thread.Sleep(500); s.ev += new Del(f.Hand); f.ev += new Del(s.Hand); Application.Run(s); } } Укажите, пожалуйста, на ошибки. |
|||
|
||||
erm0l0v |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 11.1.2011 Репутация: 1 Всего: 1 |
|
|||
|
||||
007700 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 21.12.2011 Репутация: нет Всего: нет |
Ух ты))) Она работает)) Спасибо вам большое))
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |