Открылся форум посвещеный программированию, где можно обсуждать и задавать любые вопросы по C++, C#, Visual Basic, Windows Forms |
Использование таймера и сворачивние окна в трей
Запустите Visual Studio и создайте новый проект: 2Timer. Добавьте две кнопки, texBox и переименуйте, как показано на рисунке:
Добавим на форму также Timer и notifyIcon. В свойствах Timer interval поменяем на 10, а в свойствах notifyIcon Visible поменяем на False. В этой программе мы будем использовать переменную. В С# существует несколько типов данных в таблице ниже они перечислены: Прежде чем использовать переменную её нужно объявить: double t1; Теперь напишем обработчик кнопки запуск:
namespace _2Timer { public partial class Form1 : Form { double t1; public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { t1 = Convert.ToInt32(textBox1.Text); timer1.Enabled = true; } } } Так как в textBox1.Text содержимое строкового типа (string), то применим конвертирование в цифровой тип: Convert.ToInt32(textBox1.Text). Теперь на вкладке формы дважды щелкнем по таймеру и напишем:
private void timer1_Tick(object sender, EventArgs e) { t1 -= 1; this.Opacity = (t1 / 100); if (t1 == 0) Application.Exit(); } Здесь на каждый тик таймера форма будет менять прозрачность с 1,0 до 0,0. В свойствах таймера мы меняли свойство Interval, для которого 1000 соответствует одной секунде. После того как значение t1 станет равно 0, приложение закончит свою работу.
Для того чтобы приложение сворачивалось в трей, дважды щелкнем по соответствующей кнопке и наберем:
private void button2_Click(object sender, EventArgs e) { Opacity = 0.0; ShowInTaskbar = false; notifyIcon1.Visible = true; }
Чтобы приложение было видно в трее, необходимо добавить значок, для этого последовательно нажмем: Project, Add New Item и выберем: Icon File. Появиться окно рисования значков. После прорисовки, дважды щелкнем по notifyIcon и наберем:
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) { Opacity = 1; ShowInTaskbar = true; notifyIcon1.Visible = false; } |