using System; using System.Text; using System.Windows.Forms; namespace PasswordGenerator { public partial class Form1 : Form { const string charsUpper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; const string charsLower = "abcdefghijklmnopqrstuvwxyz"; const string charsNumber = "0123456789"; const string charsSymbols = "!@#$%^&*"; private bool _loaded = false; public Form1() { InitializeComponent(); _loaded = true; GeneratePassword(); } public void GeneratePassword() { string chars = (UppercaseCheck.Checked ? charsUpper : "") + (LowercaseCheck.Checked ? charsLower : "") + (NumbersCheck.Checked ? charsNumber : "") + (SymbolsCheck.Checked ? charsSymbols : ""); if (chars == "") { PasswordOutput.Text = ""; return; } StringBuilder password = new StringBuilder(); Random random = new Random(); for (int i = 0; i < LengthSlider.Value; i++) { password.Append(chars[random.Next(chars.Length)]); } PasswordOutput.Text = password.ToString(); } private void LengthSlider_ValueChanged(object sender, System.EventArgs e) { if (!_loaded) return; LengthText.Text = $"Password Length: {LengthSlider.Value}"; GeneratePassword(); } private void CopyButton_Click(object sender, System.EventArgs e) { Clipboard.SetText(PasswordOutput.Text); } private void RegenerateButton_Click(object sender, System.EventArgs e) => GeneratePassword(); private void UppercaseCheck_CheckedChanged(object sender, EventArgs e) => GeneratePassword(); private void LowercaseCheck_CheckedChanged(object sender, EventArgs e) => GeneratePassword(); private void NumbersCheck_CheckedChanged(object sender, EventArgs e) => GeneratePassword(); private void SymbolsCheck_CheckedChanged(object sender, EventArgs e) => GeneratePassword(); private void PresetLength8Button_Click(object sender, System.EventArgs e) => LengthSlider.Value = 8; private void PresetLength16Button_Click(object sender, System.EventArgs e) => LengthSlider.Value = 16; private void PresetLength32Button_Click(object sender, System.EventArgs e) => LengthSlider.Value = 32; private void PresetLength64Button_Click(object sender, System.EventArgs e) => LengthSlider.Value = 64; private void PresetLength128Button_Click(object sender, System.EventArgs e) => LengthSlider.Value = 128; } }