using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WindowsFormsCore.Operations; namespace WindowsFormsCore { public enum LNum { x1 = 1, x2 = 2, x3 = 3, x4 = 4, x5 = 5, x6 = 6, x7 = 7, x8 = 8, x9 = 9, x10 = 10, x11 = 11, x12 = 12, x13 = 13, x14 = 14, x15 = 15, x16 = 16, x17 = 17, x18 = 18, x19 = 19, x20 = 20, x21 = 21, x22 = 22, x23 = 23, x24 = 24, x25 = 25, x26 = 26, x27 = 27, x28 = 28, x29 = 29, x30 = 30, x31 = 31, x32 = 32, x33 = 33, x34 = 34, x35 = 35 } public partial class Form1 : Form { Random rnd = new CryptoRandom(DateTime.Now.DayOfYear); private Lotto lotto; private List clicked; private bool clearing; private TextBox[] txtBGrp1 = new TextBox[7]; private TextBox[] txtBGrp2 = new TextBox[7]; public Form1() { InitializeComponent(); lotto = new Lotto(rnd); ClearChks(); for (int i = 0; i < txtBGrp1.Count(); i++) { txtBGrp1[i] = (TextBox)this.Controls["txtNr" + (i + 1).ToString()]; txtBGrp2[i] = (TextBox)this.Controls["txtNr2" + (i + 1).ToString()]; } } private void btnGenerate_Click(object sender, EventArgs e) { var ansver = lotto.RandomRad(); for (int i = 0; i < txtBGrp1.Count(); i++) { txtBGrp1[i].Text = ansver[i]; } } private string randomNum() { return Enum.GetName(typeof(LNum), rnd.Next((int)LNum.x1, (int)LNum.x35)); } private void btnGenMotNr_Click(object sender, EventArgs e) { lblIndicator.BackColor = SystemColors.Control; lblIndicator.Text = " "; List jmfList = new List(); for (int i = 0; i < txtBGrp1.Count(); i++) { txtBGrp2[i].Text = string.IsNullOrEmpty(txtNr1.Text) ? "" : lotto.AntiCircularValue(int.Parse(txtBGrp1[i].Text)).ToString(); jmfList.Add(txtBGrp2[i].Text); } jmfList.Sort(); var prev = string.Empty; foreach (var str in jmfList) { if (str == prev) { lblIndicator.BackColor = Color.Red; lblIndicator.Text = str; break; } prev = str; } } private void btnTest_Click(object sender, EventArgs e) { var tstIn = decimal.Parse(txtTestIn.Text); txtTestOut.Text = $"number for angle {tstIn} = {lotto.GetNumberByAngle(tstIn)}"; } private void chk_CheckedChanged(object sender, EventArgs e) { if (!clearing) { var clickTxt = ((CheckBox)sender).Text; if (clicked.Any(c => c == clickTxt)) { clicked.Remove(clickTxt); clicked.ToList().ForEach(x => Debug.Write($"{x},")); Debug.WriteLine(""); } else { clicked.Add(clickTxt); } if (clicked.Count() > 6) { for (int i = 0; i < 7; i++) { txtBGrp1[i].Text = clicked[i]; } ClearChks(); } } } private void ClearChks() { clearing = true; foreach (var chk in gpbInmata.Controls) { if (chk.GetType() == typeof(CheckBox)) { ((CheckBox)chk).Checked = false; } } clicked = new List(); clearing = false; } private void btnClear_Click(object sender, EventArgs e) { ClearChks(); gpbInmata.Refresh(); } private void Text_TextChanged(object sender, EventArgs e) { var n = 0; var nochange = false; if (!int.TryParse(((TextBox)sender).Text, out n)) { if (nochange) { nochange = false; return; } var lngd = ((TextBox)sender).Text.Length; if (lngd > 1) { var repl = ((TextBox)sender).Text.Substring(0, lngd - 1); ((TextBox)sender).Text = repl; ((TextBox)sender).SelectionStart = lngd-1; ((TextBox)sender).SelectionLength = 0; } else ((TextBox)sender).Text = string.Empty; nochange = true; } } private void Text_TextChanged(object sender, KeyEventArgs e) { var n = 0; if (!int.TryParse(((TextBox)sender).Text, out n)) { var lngd = ((TextBox)sender).Text.Length; ((TextBox)sender).Text = ((TextBox)sender).Text.Substring(0, lngd - 1); } } private void AddNumbersToList1() { if(txtBGrp1.Any(tx => tx.Text.Length == 0)) { return; } ListViewItem lvRow = new ListViewItem(txtBGrp1[0].Text); for(int i = 1; i < txtBGrp1.Length;i++) { lvRow.SubItems.Add(txtBGrp1[i].Text); } lvRows.Items.Add(lvRow); } private void AddNumbersToList2() { if (txtBGrp2.Any(tx => tx.Text.Length == 0)) { return; } ListViewItem lvRow = new ListViewItem(txtBGrp2[0].Text); for (int i = 1; i < txtBGrp2.Length; i++) { lvRow.SubItems.Add(txtBGrp2[i].Text); } lvRows.Items.Add(lvRow); } private void btnDwn_Click(object sender, EventArgs e) { AddNumbersToList1(); } private void btnDown2_Click(object sender, EventArgs e) { AddNumbersToList2(); } private void btnlose_Click(object sender, EventArgs e) { this.Close(); } } }