Первые шаги WinForm - C#

Узнай цену своей работы

Формулировка задачи:

Доброго всем пятничного утра! В процессе изучения(который только начался) C# набросал программку. Она заполняет рандомно группы лиги чемпионов (нравится мне футбол) из 32 команд. Один TextBox - одна команда. Также "прикручен" гимн ЛЧ =). Вопрос, а точнее просьба в заключается в следующем: Оцените, пожалуйста, код. Приму к сведению любую критику, в особенности касаемо структуры. Может можно как-то было проще намного все сделать? В планах сделать вывод "шахматки" игр в файл, скорее в .xls. Подскажите откуда начать копать с экспортом данных из TextBox'ов в файл Excel. Заранее спасибо! Вот, собственно, код:
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;
using System.Media;
using System.Threading;
using System.IO;
 
namespace ChLeague
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        List<string> clubs = new List<string>(){"Man. United","Valencia","Rangers","Buraspor","Barcelona",
                          "Panathinaikos","Kobenhavn","Rubin Kazan","Bayern","Roma",
                          "Basel","CFR Cluj","Chelsea","Marseille","Spartak Moscow","Zilina",
                          "AC Milan","Real Madrid","Ajax","Auxerre","Shakhtar Donetsk","Braga",
                          "Partizan","Internazionale","Bremen","Tottenham","Twente",
                          "Lyon","Benfica","Shalke","H. Tel-Aviv","Arsenal"};
 
        string[] clubtemp = {"Man. United","Valencia","Rangers","Buraspor","Barcelona",
                          "Panathinaikos","Kobenhavn","Rubin Kazan","Bayern","Roma",
                          "Basel","CFR Cluj","Chelsea","Marseille","Spartak Moscow","Zilina",
                          "AC Milan","Real Madrid","Ajax","Auxerre","Shakhtar Donetsk","Braga",
                          "Partizan","Internazionale","Bremen","Tottenham","Twente",
                          "Lyon","Benfica","Shalke","H. Tel-Aviv","Arsenal"};
 
        string perem = string.Empty.ToString();
        int x = 0;
        Random rnd = new Random();
 
        private void buttonA_Click(object sender, EventArgs e)
        {
            if (GroupA1.Text != string.Empty.ToString() & GroupA2.Text != string.Empty.ToString() & GroupA3.Text != string.Empty.ToString() & GroupA4.Text != string.Empty.ToString())
            {
                MessageBox.Show("Все поля заполнены!");
            }
            for (int i = 0; i < 4; i++)
            {
                if (GroupA1.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupA1.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupA2.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupA2.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupA3.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupA3.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupA4.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupA4.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
            }
            textBox1.Text = string.Empty.ToString();
            for (int i = 0; i < clubs.Count; i++)
            {
                textBox1.AppendText(clubs[i] + Environment.NewLine);
            }
        }
 
        private void buttonB_Click(object sender, EventArgs e)
        {
            if (GroupB1.Text != string.Empty.ToString() & GroupA2.Text != string.Empty.ToString() & GroupA3.Text != string.Empty.ToString() & GroupA4.Text != string.Empty.ToString())
            {
                MessageBox.Show("Все поля заполнены!");
            }
            for (int i = 0; i < 4; i++)
            {
                if (GroupB1.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupB1.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupB2.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupB2.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupB3.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupB3.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupB4.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupB4.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
            }
            textBox1.Text = string.Empty.ToString();
            for (int i = 0; i < clubs.Count; i++)
            {
                textBox1.AppendText(clubs[i] + Environment.NewLine);
            }
        }
 
        private void buttonC_Click(object sender, EventArgs e)
        {
            if (GroupC1.Text != string.Empty.ToString() & GroupA2.Text != string.Empty.ToString() & GroupA3.Text != string.Empty.ToString() & GroupA4.Text != string.Empty.ToString())
            {
                MessageBox.Show("Все поля заполнены!");
            }
            for (int i = 0; i < 4; i++)
            {
                if (GroupC1.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupC1.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupC2.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupC2.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupC3.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupC3.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupC4.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupC4.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
            }
            textBox1.Text = string.Empty.ToString();
            for (int i = 0; i < clubs.Count; i++)
            {
                textBox1.AppendText(clubs[i] + Environment.NewLine);
            }
        }
 
        private void buttonD_Click(object sender, EventArgs e)
        {
            if (GroupD1.Text != string.Empty.ToString() & GroupA2.Text != string.Empty.ToString() & GroupA3.Text != string.Empty.ToString() & GroupA4.Text != string.Empty.ToString())
            {
                MessageBox.Show("Все поля заполнены!");
            }
            for (int i = 0; i < 4; i++)
            {
                if (GroupD1.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupD1.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupD2.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupD2.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupD3.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupD3.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupD4.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupD4.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
            }
            textBox1.Text = string.Empty.ToString();
            for (int i = 0; i < clubs.Count; i++)
            {
                textBox1.AppendText(clubs[i] + Environment.NewLine);
            }
        }
 
        private void buttonE_Click(object sender, EventArgs e)
        {
            if (GroupE1.Text != string.Empty.ToString() & GroupE2.Text != string.Empty.ToString() & GroupE3.Text != string.Empty.ToString() & GroupE4.Text != string.Empty.ToString())
            {
                MessageBox.Show("Все поля заполнены!");
            }
            for (int i = 0; i < 4; i++)
            {
                if (GroupE1.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupE1.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupE2.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupE2.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupE3.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupE3.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupE4.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupE4.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
            }
            textBox1.Text = string.Empty.ToString();
            for (int i = 0; i < clubs.Count; i++)
            {
                textBox1.AppendText(clubs[i] + Environment.NewLine);
            }
        }
 
        private void buttonF_Click(object sender, EventArgs e)
        {
            if (GroupF1.Text != string.Empty.ToString() & GroupF2.Text != string.Empty.ToString() & GroupF3.Text != string.Empty.ToString() & GroupF4.Text != string.Empty.ToString())
            {
                MessageBox.Show("Все поля заполнены!");
            }
            for (int i = 0; i < 4; i++)
            {
                if (GroupF1.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupF1.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupF2.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupF2.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupF3.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupF3.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupF4.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupF4.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
            }
            textBox1.Text = string.Empty.ToString();
            for (int i = 0; i < clubs.Count; i++)
            {
                textBox1.AppendText(clubs[i] + Environment.NewLine);
            }
        }
 
        private void buttonG_Click(object sender, EventArgs e)
        {
            if (GroupG1.Text != string.Empty.ToString() & GroupG2.Text != string.Empty.ToString() & GroupG3.Text != string.Empty.ToString() & GroupG4.Text != string.Empty.ToString())
            {
                MessageBox.Show("Все поля заполнены!");
            }
            for (int i = 0; i < 4; i++)
            {
                if (GroupG1.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupG1.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupG2.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupG2.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupG3.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupG3.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupG4.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupG4.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
            }
            textBox1.Text = string.Empty.ToString();
            for (int i = 0; i < clubs.Count; i++)
            {
                textBox1.AppendText(clubs[i] + Environment.NewLine);
            }
        }
 
        private void buttonH_Click(object sender, EventArgs e)
        {
            if (GroupH1.Text != string.Empty.ToString() & GroupH2.Text != string.Empty.ToString() & GroupH3.Text != string.Empty.ToString() & GroupH4.Text != string.Empty.ToString())
            {
                MessageBox.Show("Все поля заполнены!");
            }
            for (int i = 0; i < 4; i++)
            {
                if (GroupH1.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupH1.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupH2.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupH2.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupH3.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupH3.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
                else if (GroupH4.Text == string.Empty.ToString())
                {
                    x = rnd.Next(0, clubs.Count);
                    GroupH4.AppendText(clubs[x]);
                    clubs.Remove(clubs[x]);
                }
            }
            textBox1.Text = string.Empty.ToString();
            for (int i = 0; i < clubs.Count; i++)
            {
                textBox1.AppendText(clubs[i] + Environment.NewLine);
            }
        }        
 
        private void ClearAllFields_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Пока что не работает", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Stop);
        }
 
        private void RefreshClubs_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Вы точно хотите обновить таблицу команд?" + Environment.NewLine + "Это приведет к очищению групп и обратному занесению групп в список", "Обновление", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                == DialogResult.Yes)
            {
                foreach (TextBox tB in Controls.OfType<TextBox>())
                {
                    tB.Text = "";
                }
                clubs.Clear();
                for (int i = 0; i < 32; i++)
                {
                    clubs.Add(clubtemp[i]);
                }
            }
            //MessageBox.Show("Функция в разработке =)", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Stop);
        }
 
        private void About_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Программа выполняет сортировку клубов лиги чемпионов по группам в случайном порядке".Trim(), "Version 1.0b", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
 
        private void GymnOfLC_Click(object sender, EventArgs e)
        {
            SoundPlayer sp = new SoundPlayer();
            sp.Stream = Properties.Resources.UEFA_gimn_ligi_chempionov;
            sp.Play();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            SoundPlayer sp = new SoundPlayer();
            sp.Stop();
        }
 
private void Exit_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}

Решение задачи: «Первые шаги WinForm»

textual
Листинг программы
string perem = string.Empty.ToString();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5