
- •VStepanov.CourseWork.First Common.Cs
- •VStepanov.CourseWork.First.Binary BmpInfo.Cs
- •ByteMixer.Cs
- •Relocator.Cs
- •VStepanov.CourseWork.First.Cryptography
- •XorCodec.Cs
- •VStepanov.CourseWork.First.Steganography Steganogram.Cs
- •SteganogramBmp.Cs
- •SteganogramInfo.Cs
- •SteganogramMessage.Cs
- •VStepanov.CourseWork.First.Gui AnimatedForm.Cs
- •FileAddForm.Cs
- •GuiMethods.Cs
- •PasswordRequest.Cs
- •Program.Cs
- •SplashForm.Cs
- •TextAddForm.Cs
- •TextReadForm.Cs
- •Лист регистрации изменений
PasswordRequest.Cs
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 VStepanov.CourseWork.First.Gui
{
/// <summary>
/// Форма запроса пароля.
/// Всегда модальна.
/// </summary>
public partial class PasswordRequest : Form
{
/// <summary>
/// Свойство, хранящее введённый пароль.
/// </summary>
public string Password { get; private set; }
/// <summary>
/// Конструктор формы запроса пароля.
/// </summary>
public PasswordRequest()
{
InitializeComponent();
}
/// <summary>
/// Обработчик нажатия на кнопку "Расшифровать".
/// </summary>
private void buttonPassword_Click(object sender, EventArgs e)
{
Password = textBoxPassword.Text;
this.Close();
}
}
}
Program.Cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace VStepanov.CourseWork.First.Gui
{
static class Program
{
public static SplashForm MainForm { get; private set; }
/// <summary>
/// Главная точка входа для приложения.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainForm = new SplashForm();
Application.Run(MainForm);
}
}
}
SplashForm.Cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace VStepanov.CourseWork.First.Gui
{
/// <summary>
/// Класс выводящий сплеш-скрин и переключающий на нужный режим работы.
/// </summary>
public partial class SplashForm : Form
{
#region Вложенные классы
/// <summary>
/// Константы, описывающие вид формы.
/// </summary>
public enum FormType
{
/// <summary>
/// Анимированная форма.
/// </summary>
Animated
}
#endregion
/// <summary>
/// Текущая активная форма.
/// </summary>
public Form CurrentForm { get; private set; }
/// <summary>
/// Конструктор формы.
/// </summary>
public SplashForm()
{
InitializeComponent();
}
/// <summary>
/// Переключает на форму необходимого типа.
/// </summary>
/// <param name="form">Необходимый тип формы.</param>
public void SwitchToForm(FormType form)
{
if (form == FormType.Animated)
{
if (CurrentForm != null)
{
CurrentForm.Dispose();
}
CurrentForm = new AnimatedForm();
CurrentForm.Show();
return;
}
}
/// <summary>
/// Показ сплеш-скрина.
/// </summary>
private void SplashForm_Load(object sender, EventArgs e)
{
int steps = 3;
Timer timer = new Timer();
timer.Interval = 1000;
timer.Tick += (o, ev) =>
{
if (steps == 1)
{
this.FadeOut(TimeSpan.FromMilliseconds(700));
}
if (steps == 0)
{
SwitchToForm(FormType.Animated);
}
if (steps < 0)
{
timer.Stop();
}
steps--;
};
this.FadeIn(TimeSpan.FromSeconds(1));
timer.Start();
}
/// <summary>
/// Завершение работы программы.
/// </summary>
public void Shutdown()
{
Application.Exit();
}
}
}