Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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 tablas_feladat
- {
- public partial class Tabla : Form
- {
- private PictureBox[,] tabla = new PictureBox[8, 8];
- private Color[] szinek = { Color.Black, Color.White, Color.Red, Color.Green, Color.Blue, Color.Turquoise, Color.Crimson, Color.Yellow };
- public Tabla()
- {
- InitializeComponent();
- }
- private void Tabla_Load(object sender, EventArgs e)
- {
- tablagen.Enabled = false;
- szinvalaszt.Enabled = false;
- korvalaszt.Enabled = false;
- negyzetvalaszt.Enabled = false;
- poziciosor.Enabled = false;
- poziciooszlop.Enabled = false;
- rajzolas.Enabled = false;
- Color szin = Color.White;
- for (int i = 0; i < 8; i++)
- {
- if (szin == Color.White) { szin = Color.Black; }
- else { szin = Color.White; }
- for (int j = 0; j < 8; j++)
- {
- tabla[i, j] = new PictureBox();
- tabla[i, j].Width = 60;
- tabla[i, j].Height = 60;
- tabla[i, j].BackColor = szin;
- if (szin == Color.White) { szin = Color.Black; }
- else { szin = Color.White; }
- tabla[i, j].Top = 10 + j * 60;
- tabla[i, j].Left = 200 + i * 60;
- tabla[i, j].Visible = false;
- Controls.Add(tabla[i, j]);
- }
- }
- }
- private void meretellenorzes()
- {
- bool gensorokjo = true;
- bool genoszlopokjo = true;
- int sor = 0;
- int oszlop = 0;
- try { sor = Convert.ToInt32(generalsor.Text.Trim()); }
- catch { gensorokjo = false; }
- if (!((gensorokjo) && ((sor >= 2) && (sor <= 8)))) { gensorokjo = false; }
- try { oszlop = Convert.ToInt32(generaloszlop.Text.Trim()); }
- catch { genoszlopokjo = false; }
- if (!((genoszlopokjo) && ((oszlop >= 2) && (oszlop <= 8)))) { genoszlopokjo = false; }
- if (genoszlopokjo && gensorokjo) { tablagen.Enabled = true; }
- else { tablagen.Enabled = false; }
- }
- private void generaloszlop_TextChanged(object sender, EventArgs e)
- {
- meretellenorzes();
- }
- private void generalsor_TextChanged(object sender, EventArgs e)
- {
- meretellenorzes();
- }
- private void tablagen_Click(object sender, EventArgs e)
- {
- for (int i = 0; i < 8; i++)
- for (int j = 0; j < 8; j++)
- {
- tabla[i, j].Visible = false;
- Bitmap rajzTerulet = new Bitmap(60, 60);
- tabla[i, j].Image = rajzTerulet;
- Graphics g;
- g = Graphics.FromImage(rajzTerulet);
- g.Clear(tabla[i, j].BackColor);
- g.Dispose();
- }
- for (int i = 0; i < Convert.ToInt32(generaloszlop.Text); i++)
- for (int j = 0; j < Convert.ToInt32(generalsor.Text); j++)
- tabla[i, j].Visible = true;
- this.Width = 200 + (Convert.ToInt32(generaloszlop.Text) * 60) + 35;
- tablagen.Enabled = false;
- generaloszlop.Enabled = false;
- generalsor.Enabled = false;
- szinvalaszt.Enabled = true;
- korvalaszt.Enabled = true;
- negyzetvalaszt.Enabled = true;
- poziciosor.Enabled = true;
- poziciooszlop.Enabled = true;
- //rajzolas.Enabled = true;
- }
- private void szinvalaszt_SelectedIndexChanged(object sender, EventArgs e)
- {
- alakzatellenorzes();
- }
- private void alakzatellenorzes()
- {
- bool rajzsorjo = true;
- bool rajzoszlopjo = true;
- bool alakzat = false;
- bool szin = false;
- int sor = 0;
- int oszlop = 0;
- try { sor = Convert.ToInt32(poziciosor.Text.Trim()); }
- catch { rajzsorjo = false; }
- if (!((rajzsorjo) && ((sor >= 1) && (sor <= Convert.ToInt32(generalsor.Text))))) { rajzsorjo = false; }
- try {oszlop = Convert.ToInt32(poziciooszlop.Text.Trim());}
- catch {rajzoszlopjo = false;}
- if (!((rajzoszlopjo) && ((oszlop >= 1) && (oszlop <= Convert.ToInt32(generaloszlop.Text))))) { rajzoszlopjo = false; }
- if ((korvalaszt.Checked) || (negyzetvalaszt.Checked)) { alakzat = true; }
- if (szinvalaszt.SelectedIndex >= 0 && szinvalaszt.SelectedIndex <= 7) { szin = true; }
- //if (szin)
- //{
- // MessageBox.Show("Jó a szín!!!!");
- //}
- //else { MessageBox.Show("Nem jó az indexes"); }
- if (rajzsorjo && rajzoszlopjo && alakzat && szin)
- {rajzolas.Enabled = true;} else { rajzolas.Enabled = false; }
- }
- private void rajzolas_Click(object sender, EventArgs e)
- {
- int sorszam = Convert.ToInt32(poziciosor.Text) - 1;
- int oszlopszam = Convert.ToInt32(poziciooszlop.Text) - 1;
- if (szinvalaszt.SelectedIndex <= 7 && szinvalaszt.SelectedIndex >= 0)
- {
- if (szinek[szinvalaszt.SelectedIndex] == tabla[oszlopszam, sorszam].BackColor)
- {
- MessageBox.Show("A rajzolásra szánt alakzat, nem lehet azonos a mező színével!");
- }
- else
- {
- Bitmap rajzolni = new Bitmap(50, 50);
- tabla[oszlopszam, sorszam].Image = rajzolni;
- Graphics g;
- g = Graphics.FromImage(rajzolni);
- SolidBrush eszk = new SolidBrush(szinek[szinvalaszt.SelectedIndex]);
- if (negyzetvalaszt.Checked) g.FillRectangle(eszk, 10, 10, 40, 40);
- else g.FillEllipse(eszk, 10, 10, 40, 40);
- g.Dispose();
- }
- }
- else
- {
- MessageBox.Show("Kérlek a listában megadott színek közül válassz!");
- }
- }
- private void korvalaszt_CheckedChanged(object sender, EventArgs e)
- {
- alakzatellenorzes();
- }
- private void negyzetvalaszt_CheckedChanged(object sender, EventArgs e)
- {
- alakzatellenorzes();
- }
- private void poziciosor_TextChanged(object sender, EventArgs e)
- {
- alakzatellenorzes();
- }
- private void poziciooszlop_TextChanged(object sender, EventArgs e)
- {
- alakzatellenorzes();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement