написать комментарии к коду Индивидуальное задание (6 вариант, Цветное сообщение)
На форме два текстовых поля и кнопка. При нажатии на кнопку, текст, введенный в первое поле, появляется во втором и каждую секунду меняет свой цвет на случайный.
Выполнение задания:
Для выполнения задания я создал класс с расширением Extension(), в котором создал метод-расширение, позволяющий мне изменять цвет текста каждую секунду.
Для этого мне пришлось использовать переменные типа Random и Timer. Задав значение timer.Interval= 1000, программа будет исполнять заданное действие каждую секунду.
Для изменения цвета текста в текстовом окошке я создал переменную типа Color(), которую я заполняю случайными числами от 0 до 255 каждый тик. Лямбда-выражение timer.Tick имеет замыкание в виде «захвата» данных Color и текста из текстовых окон формы.
По нажатию на кнопку расширение применяется к первому текстовому окошку, «подхватывая» дружественное второе окно для изменения параметров цвета и текста.
Листинг кода:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace g_lab4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
delegate void Func(string str);
private void button1_Click(object sender, EventArgs e)
{
try
{
richTextBox2.SetColorText(richTextBox1);
}
catch { richTextBox1.Text = ""; }
}
}
public static class Extension
{
public static void SetColorText(this RichTextBox textbox2, RichTextBox textbox1)
{
Random rand = new Random();
Timer timer = new Timer();
timer.Enabled = true;
timer.Interval = 1000;
textbox2.Text = textbox1.Text;
Color color = new Color();
timer.Start();
timer.Tick += (sender, e) =>
{
color = Color.FromArgb(rand.Next(0, 255),
rand.Next(0, 255),
rand.Next(0, 255));
textbox2.Select(0, textbox2.Text.Length);
textbox2.SelectionColor = color;
};
}
}
}
потом прикрепить в ворде
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |