oto cała klasa Main w której obsługiwany jest PictureBox
using System;
using System.IO;
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;
using System.Drawing.Drawing2D;
namespace Projekt2Bilski43335
{
public partial class pb_TestowaPlanszaGraficzna : Form
{
// wywołąnie zmiennych globalnych
public Graphics pb_DrawArea;
const int pb_Margines = 10;
public pb_TestowaPlanszaGraficzna pb_ReferencjaForm1;
// przypisanie zmiennych do klas zewnętrznych
public pb_PodstawoweWspółrzędne pb_Form2;
protected static Color pb_KolorObiektu = Color.Black;
protected static int pb_WybranaGrubośćLinii;
protected static DashStyle pb_WybranaLinia;
protected static int pb_Index = -1;
pb_CMFigura[] pb_TablicaFigurGeometrycznych = new pb_CMFigura[10];
protected static int pb_IndexTablicy;
protected static int pb_MaxIlośćObiektów;
public pb_TestowaPlanszaGraficzna()
{
InitializeComponent();
// przypisanie kontrolki robiczej PictureBox do zmiennej publicznej tpu Graphics
pb_DrawArea = pb_PlanszaGraficzna.CreateGraphics();
// wskazanie do czego odwoluje się pb_Referencja
pb_ReferencjaForm1 = this;
}
//---------------------------------------------------------------------------//
// Obsługa interface urzytkownika - kontrolki //
//---------------------------------------------------------------------------//
// obsługa przycisku Rysuj
private void pb_btDraw_Click(object sender, EventArgs e)
{
int pb_WybranaFigura = pb_clbListaObiektówGraficznych.SelectedIndex;
if (pb_Index < pb_MaxIlośćObiektów)
{
switch (pb_clbListaObiektówGraficznych.SelectedIndex)
{
case 0:
pb_clbListaObiektówGraficznych.SetItemChecked(0, false);
int pb_Promień = 5;
pb_Index++;
pb_NapełnijDataGridView();
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CPunkt(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Promień, pb_tbKolorObiektu.BackColor, pb_DrawArea);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
pb_btDefiniowanieParametrówPołożenia.Enabled = false;
pb_lbKolorObiektu.Visible = false;
pb_tbKolorObiektu.Visible = false;
pb_btDraw.Enabled = false;
pb_btUsuńWybraneFigury.Enabled = true;
break;
case 1:
pb_clbListaObiektówGraficznych.SetItemChecked(1, false);
pb_Index++;
pb_NapełnijDataGridView();
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CLinia(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_x2, pb_Form2.pb_y2, pb_tbKolorObiektu.BackColor, pb_trackbarGLV.Value, pb_WybranaLinia, pb_DrawArea);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
pb_WyłączKontrolki1();
break;
case 2:
pb_clbListaObiektówGraficznych.SetItemChecked(2, false);
pb_Index++;
pb_NapełnijDataGridView();
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CKoło(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_DrawArea, pb_tbKolorObiektu.BackColor, pb_trackbarGLV.Value, pb_WybranaLinia, pb_Form2.pb_Promień);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
pb_WyłączKontrolki1();
break;
case 3:
pb_clbListaObiektówGraficznych.SetItemChecked(3, false);
pb_Index++;
pb_NapełnijDataGridView();
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CElipsa(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_x2, pb_Form2.pb_y2, pb_DrawArea, pb_tbKolorObiektu.BackColor, pb_trackbarGLV.Value, pb_WybranaLinia);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
pb_WyłączKontrolki1();
break;
case 4:
pb_clbListaObiektówGraficznych.SetItemChecked(4, false);
pb_Index++;
pb_NapełnijDataGridView();
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CProstokąt(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_x2, pb_Form2.pb_y2, pb_tbKolorObiektu.BackColor, pb_trackbarGLV.Value, pb_WybranaLinia, pb_DrawArea);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
pb_WyłączKontrolki1();
break;
case 5:
pb_clbListaObiektówGraficznych.SetItemChecked(5, false);
pb_Index++;
pb_NapełnijDataGridView();
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CKwadrat(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_Promień, pb_tbKolorObiektu.BackColor, pb_trackbarGLV.Value, pb_WybranaLinia, pb_DrawArea);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
pb_WyłączKontrolki1();
break;
case 6:
pb_clbListaObiektówGraficznych.SetItemChecked(6, false);
pb_Index++;
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CTrapez(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_x2, pb_Form2.pb_y2, pb_Form2.pb_Promień, pb_tbKolorObiektu.BackColor, pb_trackbarGLV.Value, pb_WybranaLinia, pb_DrawArea);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
pb_NapełnijDataGridView();
pb_WyłączKontrolki1();
break;
case 7:
pb_clbListaObiektówGraficznych.SetItemChecked(7, false);
pb_Index++;
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CTrójkąt(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_x2, pb_DrawArea, pb_tbKolorObiektu.BackColor, pb_trackbarGLV.Value, pb_WybranaLinia, pb_Form2.pb_Promień);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
pb_NapełnijDataGridView();
pb_WyłączKontrolki1();
break;
}
}
else
{
MessageBox.Show("Osignięto maksymalną ilość figur geometrycznych", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information);
pb_clbListaObiektówGraficznych.Enabled = false;
pb_lbIlośćFigur.Visible = false;
pb_tbIlośćObiektów.Visible = false;
pb_lbKolorObiektu.Visible = false;
pb_tbKolorObiektu.Visible = false;
pb_lbWybórRodzajuLinii.Visible = false;
pb_cbRodzajLinii.Visible = false;
pb_lbGrubośćLinii.Visible = false;
pb_trackbarGLV.Visible = false;
pb_btDraw.Enabled = false;
pb_btDefiniowanieParametrówPołożenia.Enabled = false;
pb_clbListaObiektówGraficznych.SetItemChecked(pb_WybranaFigura, false);
}
}
// obsługa przycisku usunięcia wybranej figury geometrycznej
private void pb_btUsuńWybraneFigury_Click(object sender, EventArgs e)
{
pb_PlanszaGraficzna.BackColor = pb_tbKolorWypełnienia.BackColor;
pb_PlanszaGraficzna.Invalidate();
//pb_RysujOdNowa();
}
// obsłoga buttona definiowania parametrów położenia figur
private void pb_btDefiniowanieParametrówPołożenia_Click(object sender, EventArgs e)
{
int pb_WybranaFigura = pb_clbListaObiektówGraficznych.SelectedIndex;
switch (pb_clbListaObiektówGraficznych.SelectedIndex)
{
case 0:
pb_Form2 = new pb_PodstawoweWspółrzędne(this);
pb_Form2.pb_lbOpis1.Text = "Współrzędne punktu";
pb_Form2.pb_lbOpis1.Location = new Point(90, 30);
pb_Form2.pb_lbOpis1.Visible = true;
pb_Form2.pb_lbOpisX1.Location = new Point(68, 54);
pb_Form2.pb_lbOpisX1.Visible = true;
pb_Form2.pb_tbX1.Location = new Point(134, 51);
pb_Form2.pb_tbX1.Visible = true;
pb_Form2.pb_lbOpisY1.Location = new Point(68, 80);
pb_Form2.pb_lbOpisY1.Visible = true;
pb_Form2.pb_tbY1.Location = new Point(134, 77);
pb_Form2.pb_tbY1.Visible = true;
pb_Form2.pb_WybranaFigura = pb_WybranaFigura;
pb_Form2.Show();
break;
case 1:
pb_Form2 = new pb_PodstawoweWspółrzędne(this);
pb_Form2.pb_lbOpis1.Text = "Współrzędne początku linii";
pb_Form2.pb_lbOpis1.Location = new Point(70, 30);
pb_Form2.pb_lbOpis1.Visible = true;
pb_Form2.pb_lbOpis2.Text = "Współrzędne końca linii";
pb_Form2.pb_lbOpis2.Location = new Point(75, 111);
pb_Form2.pb_lbOpis2.Visible = true;
pb_Form2.pb_lbOpisX1.Text = "Wsp. X1:";
pb_Form2.pb_lbOpisX1.Location = new Point(68, 54);
pb_Form2.pb_lbOpisX1.Visible = true;
pb_Form2.pb_tbX1.Location = new Point(134, 51);
pb_Form2.pb_tbX1.Visible = true;
pb_Form2.pb_lbOpisY1.Text = "Wsp. Y1:";
pb_Form2.pb_lbOpisY1.Location = new Point(68, 80);
pb_Form2.pb_lbOpisY1.Visible = true;
pb_Form2.pb_tbY1.Location = new Point(134, 77);
pb_Form2.pb_tbY1.Visible = true;
pb_Form2.pb_lbOpisX2.Text = "Wsp. X2:";
pb_Form2.pb_lbOpisX2.Location = new Point(68, 135);
pb_Form2.pb_lbOpisX2.Visible = true;
pb_Form2.pb_tbX2.Location = new Point(134, 132);
pb_Form2.pb_tbX2.Visible = true;
pb_Form2.pb_lbOpisY2.Text = "Wsp. Y2:";
pb_Form2.pb_lbOpisY2.Location = new Point(68, 161);
pb_Form2.pb_lbOpisY2.Visible = true;
pb_Form2.pb_tbY2.Location = new Point(134, 158);
pb_Form2.pb_tbY2.Visible = true;
pb_Form2.pb_WybranaFigura = pb_WybranaFigura;
pb_Form2.Show();
break;
case 2:
pb_Form2 = new pb_PodstawoweWspółrzędne(this);
pb_Form2.pb_lbOpis1.Text = "Współrzędne środka";
pb_Form2.pb_lbOpis1.Location = new Point(90, 30);
pb_Form2.pb_lbOpis1.Visible = true;
pb_Form2.pb_lbOpis2.Text = "Promień koła";
pb_Form2.pb_lbOpis2.Location = new Point(105, 118);
pb_Form2.pb_lbOpis2.Visible = true;
pb_Form2.pb_lbOpisX1.Location = new Point(68, 54);
pb_Form2.pb_lbOpisX1.Visible = true;
pb_Form2.pb_tbX1.Location = new Point(134, 51);
pb_Form2.pb_tbX1.Visible = true;
pb_Form2.pb_lbOpisY1.Location = new Point(68, 80);
pb_Form2.pb_lbOpisY1.Visible = true;
pb_Form2.pb_tbY1.Location = new Point(134, 77);
pb_Form2.pb_tbY1.Visible = true;
pb_Form2.pb_tbPromień.Location = new Point(134, 139);
pb_Form2.pb_tbPromień.Visible = true;
pb_Form2.pb_lbPromień.Location = new Point(70, 142);
pb_Form2.pb_lbPromień.Visible = true;
pb_Form2.pb_WybranaFigura = pb_WybranaFigura;
pb_Form2.Show();
break;
case 3:
pb_Form2 = new pb_PodstawoweWspółrzędne(this);
pb_Form2.pb_lbOpis1.Text = "Współrzędne górnego lewego narożnika";
pb_Form2.pb_lbOpis1.Location = new Point(45, 30);
pb_Form2.pb_lbOpis1.Visible = true;
pb_Form2.pb_lbOpis2.Text = "Przesunięcie dla środka obrotu elipsy";
pb_Form2.pb_lbOpis2.Location = new Point(50, 111);
pb_Form2.pb_lbOpis2.Visible = true;
pb_Form2.pb_lbOpisX2.Location = new Point(68, 135);
pb_Form2.pb_lbOpisX2.Visible = true;
pb_Form2.pb_tbX2.Location = new Point(134, 132);
pb_Form2.pb_tbX2.Visible = true;
pb_Form2.pb_lbOpisY2.Location = new Point(68, 161);
pb_Form2.pb_lbOpisY2.Visible = true;
pb_Form2.pb_tbY2.Location = new Point(134, 158);
pb_Form2.pb_tbY2.Visible = true;
pb_Form2.pb_lbOpisX1.Text = "W osi X:";
pb_Form2.pb_lbOpisX1.Location = new Point(68, 54);
pb_Form2.pb_lbOpisX1.Visible = true;
pb_Form2.pb_tbX1.Location = new Point(134, 51);
pb_Form2.pb_tbX1.Visible = true;
pb_Form2.pb_lbOpisY1.Text = "W osi Y1:";
pb_Form2.pb_lbOpisY1.Location = new Point(68, 80);
pb_Form2.pb_lbOpisY1.Visible = true;
pb_Form2.pb_tbY1.Location = new Point(134, 77);
pb_Form2.pb_tbY1.Visible = true;
pb_Form2.pb_WybranaFigura = pb_WybranaFigura;
pb_Form2.Show();
break;
case 4:
pb_Form2 = new pb_PodstawoweWspółrzędne(this);
pb_Form2.pb_lbOpis1.Text = "Współrzędne górnego lewego narożnika";
pb_Form2.pb_lbOpis1.Location = new Point(45, 30);
pb_Form2.pb_lbOpis1.Visible = true;
pb_Form2.pb_lbOpis2.Text = "Szerokośc i wysokość prostokąta";
pb_Form2.pb_lbOpis2.Location = new Point(55, 111);
pb_Form2.pb_lbOpis2.Visible = true;
pb_Form2.pb_lbOpisX1.Text = "Wsp. X1:";
pb_Form2.pb_lbOpisX1.Location = new Point(68, 54);
pb_Form2.pb_lbOpisX1.Visible = true;
pb_Form2.pb_tbX1.Location = new Point(134, 51);
pb_Form2.pb_tbX1.Visible = true;
pb_Form2.pb_lbOpisY1.Text = "Wsp. Y1:";
pb_Form2.pb_lbOpisY1.Location = new Point(68, 80);
pb_Form2.pb_lbOpisY1.Visible = true;
pb_Form2.pb_tbY1.Location = new Point(134, 77);
pb_Form2.pb_tbY1.Visible = true;
pb_Form2.pb_lbOpisX2.Text = "Wsp. X2:";
pb_Form2.pb_lbOpisX2.Location = new Point(68, 135);
pb_Form2.pb_lbOpisX2.Visible = true;
pb_Form2.pb_tbX2.Location = new Point(134, 132);
pb_Form2.pb_tbX2.Visible = true;
pb_Form2.pb_lbOpisY2.Text = "Wsp. Y2:";
pb_Form2.pb_lbOpisY2.Location = new Point(68, 161);
pb_Form2.pb_lbOpisY2.Visible = true;
pb_Form2.pb_tbY2.Location = new Point(134, 158);
pb_Form2.pb_tbY2.Visible = true;
pb_Form2.pb_WybranaFigura = pb_WybranaFigura;
pb_Form2.Show();
break;
case 5:
pb_Form2 = new pb_PodstawoweWspółrzędne(this);
pb_Form2.pb_lbOpis1.Text = "Współrzędne górnego lewego narożnika";
pb_Form2.pb_lbOpis1.Location = new Point(38, 30);
pb_Form2.pb_lbOpis1.Visible = true;
pb_Form2.pb_lbOpisX1.Location = new Point(68, 54);
pb_Form2.pb_lbOpisX1.Visible = true;
pb_Form2.pb_tbX1.Location = new Point(134, 51);
pb_Form2.pb_tbX1.Visible = true;
pb_Form2.pb_lbOpisY1.Location = new Point(68, 80);
pb_Form2.pb_lbOpisY1.Visible = true;
pb_Form2.pb_tbY1.Location = new Point(134, 77);
pb_Form2.pb_tbY1.Visible = true;
pb_Form2.pb_lbPromień.Text = "Długość boku :";
pb_Form2.pb_lbPromień.Location = new Point(45, 142);
pb_Form2.pb_lbPromień.Visible = true;
pb_Form2.pb_tbPromień.Location = new Point(134, 139);
pb_Form2.pb_tbPromień.Visible = true;
pb_Form2.pb_WybranaFigura = pb_WybranaFigura;
pb_Form2.Show();
break;
case 6:
pb_Form2 = new pb_PodstawoweWspółrzędne(this);
pb_Form2.pb_lbOpis1.Text = "Współrzędne górnego lewego narożnika";
pb_Form2.pb_lbOpis1.Location = new Point(45, 20);
pb_Form2.pb_lbOpis1.Visible = true;
pb_Form2.pb_lbOpis2.Text = "Pozostałe parametry";
pb_Form2.pb_lbOpis2.Location = new Point(85, 101);
pb_Form2.pb_lbOpis2.Visible = true;
pb_Form2.pb_lbOpisX1.Text = "Wsp. X1:";
pb_Form2.pb_lbOpisX1.Location = new Point(68, 44);
pb_Form2.pb_lbOpisX1.Visible = true;
pb_Form2.pb_tbX1.Location = new Point(134, 41);
pb_Form2.pb_tbX1.Visible = true;
pb_Form2.pb_lbOpisY1.Text = "Wsp. Y2:";
pb_Form2.pb_lbOpisY1.Location = new Point(68, 70);
pb_Form2.pb_lbOpisY1.Visible = true;
pb_Form2.pb_tbY1.Location = new Point(134, 67);
pb_Form2.pb_tbY1.Visible = true;
pb_Form2.pb_lbOpisX2.Text = "Długość górnej podstawy:";
pb_Form2.pb_lbOpisX2.Location = new Point(28, 125);
pb_Form2.pb_lbOpisX2.Visible = true;
pb_Form2.pb_tbX2.Location = new Point(174, 122);
pb_Form2.pb_tbX2.Visible = true;
pb_Form2.pb_lbOpisY2.Text = "Wysokość:";
pb_Form2.pb_lbOpisY2.Location = new Point(68, 176);
pb_Form2.pb_lbOpisY2.Visible = true;
pb_Form2.pb_tbY2.Location = new Point(134, 175);
pb_Form2.pb_tbY2.Visible = true;
pb_Form2.pb_lbPromień.Text = "Długośc dolnej podstawy:";
pb_Form2.pb_lbPromień.Location = new Point(28, 151);
pb_Form2.pb_lbPromień.Visible = true;
pb_Form2.pb_tbPromień.Location = new Point(174, 148);
pb_Form2.pb_tbPromień.Visible = true;
pb_Form2.pb_WybranaFigura = pb_WybranaFigura;
pb_Form2.Show();
break;
case 7:
pb_Form2 = new pb_PodstawoweWspółrzędne(this);
pb_Form2.pb_lbOpis1.Text = "Współrzędne trójkąta";
pb_Form2.pb_lbOpis1.Location = new Point(85, 20);
pb_Form2.pb_lbOpis1.Visible = true;
pb_Form2.pb_lbOpisX1.Text = "Wsp. X pierwszego narożnika :";
pb_Form2.pb_lbOpisX1.Location = new Point(25, 50);
pb_Form2.pb_lbOpisX1.Visible = true;
pb_Form2.pb_tbX1.Location = new Point(180, 47);
pb_Form2.pb_tbX1.Visible = true;
pb_Form2.pb_lbOpisY1.Text = "Wsp. Y pierwszego narożnika :";
pb_Form2.pb_lbOpisY1.Location = new Point(25, 76);
pb_Form2.pb_lbOpisY1.Visible = true;
pb_Form2.pb_tbY1.Location = new Point(180, 73);
pb_Form2.pb_tbY1.Visible = true;
pb_Form2.pb_lbOpisX2.Text = "Długość podstawy :";
pb_Form2.pb_lbOpisX2.Location = new Point(74, 125);
pb_Form2.pb_lbOpisX2.Visible = true;
pb_Form2.pb_tbX2.Location = new Point(180, 122);
pb_Form2.pb_tbX2.Visible = true;
pb_Form2.pb_lbPromień.Text = "Wysokość :";
pb_Form2.pb_lbPromień.Location = new Point(114, 154);
pb_Form2.pb_lbPromień.Visible = true;
pb_Form2.pb_tbPromień.Location = new Point(180, 151);
pb_Form2.pb_tbPromień.Visible = true;
pb_Form2.pb_WybranaFigura = pb_WybranaFigura;
pb_Form2.Show();
break;
}
return;
}
// obsługa suwaka definiującego grubość linii
public void trackBar1_Scroll(object sender, EventArgs e)
{
// wywołanie zmienej pomocniczej
int pb_Przesunięcie;
// przypisanie wyboru użytkownika do zmienej pomocniczej
pb_Przesunięcie = pb_trackbarGLV.Value;
// przepisanie wyboru urzytkownika do definicji grubości linii wykresu w kontrolce chart
if (pb_Przesunięcie == 1)
{
pb_WybranaGrubośćLinii = 1;
}
else
if (pb_Przesunięcie == 2)
{
pb_WybranaGrubośćLinii = 2;
}
else
if (pb_Przesunięcie == 3)
{
pb_WybranaGrubośćLinii = 3;
}
else
if (pb_Przesunięcie == 4)
{
pb_WybranaGrubośćLinii = 4;
}
else
if (pb_Przesunięcie == 5)
{
pb_WybranaGrubośćLinii = 5;
}
}
// ustawienie wybranego koloru linii
public void pb_tbKolorLinii_Click(object sender, EventArgs e)
{
ColorDialog pb_NowyKolor = new ColorDialog();
if (pb_NowyKolor.ShowDialog() == DialogResult.OK)
{
pb_tbKolorObiektu.BackColor = pb_NowyKolor.Color;
pb_KolorObiektu = pb_NowyKolor.Color;
}
}
// ustawienie wybranego koloru wypełnienia
private void pb_tbKolorWypełnienia_Click(object sender, EventArgs e)
{
ColorDialog pb_WybranyKolorWypełnienia = new ColorDialog();
if (pb_WybranyKolorWypełnienia.ShowDialog() == DialogResult.OK)
{
// pb_PlanszaGraficzna.BackColor = pb_WybranyKolorWypełnienia.Color;
pb_tbKolorWypełnienia.BackColor = pb_WybranyKolorWypełnienia.Color;
//pb_btUsuńWybraneFigury.Text = "ZmieńKolorTła";
//pb_btUsuńWybraneFigury.Enabled = true;
return;
}
//pb_RysujOdNowa();
}
// przywrócenie domyślnego koloru tła
private void wyczyśćWszystkoToolStripMenuItem_Click(object sender, EventArgs e)
{
pb_DrawArea.Clear(Color.FromKnownColor(KnownColor.Control));
}
// obsługa Menu zamknięcie programu
private void koniecProgramuToolStripMenuItem_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Dziękuję za współudział w testowaniu moich wypocin", "Koniec programu",
MessageBoxButtons.OK,
MessageBoxIcon.Question) == DialogResult.OK)
Environment.Exit(1);
}
// Metoda opisująca użycie przycisku krzyżyk do zamknięcia programu
private void pb_TestowaPlanszaGraficzna_FormClosing(object sender, FormClosingEventArgs e)
{
// wywołanie okienka MesageBox z komunikatem
if (MessageBox.Show("Czy Napewno chcesz opuścić Program",
"Zakończyć Program?",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.Yes)
{
Environment.Exit(1);
}
else
{
e.Cancel = true; // rezygnacja z zamknięcia programu
}
}
// obsługa kontrolki wyboru rodzaju linii
private void pb_cbRodzajLinii_SelectedIndexChanged(object sender, EventArgs e)
{
// przypisanie zmienej tymczasowej wartości wybranego indexu kontrolki ComboBox
int pb_Linia = pb_cbRodzajLinii.SelectedIndex;
// określenie typu linii w zależności od wyboru użytkownika
switch (pb_Linia)
{
case 0:
pb_WybranaLinia = DashStyle.Dash;
break;
case 1:
pb_WybranaLinia = DashStyle.DashDot;
break;
case 2:
pb_WybranaLinia = DashStyle.DashDotDot;
break;
case 3:
pb_WybranaLinia = DashStyle.Dot;
break;
case 4:
pb_WybranaLinia = DashStyle.Solid;
break;
}
}
// obsługa menu manulalne definiowanie figur
private void indywidualnyToolStripMenuItem_Click(object sender, EventArgs e)
{
pb_clbListaObiektówGraficznych.Enabled = false;
pb_lbIlośćFigur.Visible = true;
pb_tbIlośćObiektów.Visible = true;
pb_btLosujIlośćFigur.Visible = false;
}
// obsługa menu losowe generoeanie figur
private void losowyToolStripMenuItem_Click(object sender, EventArgs e)
{
pb_btLosujIlośćFigur.Visible = true;
pb_tbIlośćObiektów.Visible = true;
pb_lbIlośćFigur.Visible = false;
pb_tbKolorWypełnienia.Enabled = false;
}
// usówanie i przesówanie wybranej figury
private void pb_dgwAktualnaListaObiektów_CellClick(object sender, DataGridViewCellEventArgs e)
{
// deklaracja zmiennych lokalnych niezbędnych do manipulowania danymi wde kontrolce DGV if TablicyObiektów
int pb_DoUsunięciaZDGV;
int pb_ManipulujObiektemWTablicy;
// jesli kliknięto ikonkę skasuj
if (e.ColumnIndex == 3 && e.RowIndex >= 0)
{
DialogResult result = MessageBox.Show("Skasować wybraną figurę?", "Potwierdzenie", MessageBoxButtons.OKCancel);
if (result == DialogResult.OK)
{
// pobranie numeru wiersza konrolki
pb_DoUsunięciaZDGV = e.RowIndex;
// pobranie zapamiętanej wartości głównego indeksu tworzonych obiektów do zmiennej pośredniej
pb_ManipulujObiektemWTablicy = Convert.ToInt32(pb_dgwAktualnaListaObiektów[4, e.RowIndex].Value);
// wymazanie wskazanego obiektu przy pomocy metody Wymaż
pb_TablicaFigurGeometrycznych[pb_ManipulujObiektemWTablicy].pb_CMWymażFigura();
// usunięcie informacji o obiekcie z TalicyObiektów
pb_TablicaFigurGeometrycznych = pb_TablicaFigurGeometrycznych.Where((source, index) => index != pb_ManipulujObiektemWTablicy).ToArray();
// usunięcie wiersza z tabeli DGV
pb_dgwAktualnaListaObiektów.Rows.RemoveAt(e.RowIndex);
// ponowne przepisanie wartości indexu po usunięciu wiersza
for (int pb_Kasuj = 0; pb_Kasuj < pb_dgwAktualnaListaObiektów.Rows.Count; pb_Kasuj++)
{
pb_dgwAktualnaListaObiektów.Rows[pb_Kasuj].Cells[4].Value = null;
pb_dgwAktualnaListaObiektów.Rows[pb_Kasuj].Cells[4].Value = pb_Kasuj;
}
}
}
//jeśli kliknięto ikonke przesuń
if (e.ColumnIndex == 2 && e.RowIndex >= 0)
{
DialogResult result = MessageBox.Show("Niestety jeszcze nie wymyśliłem jak to zrobić poprawnie!?", "Informacja", MessageBoxButtons.OKCancel);
if (result == DialogResult.OK)
{
}
}
}
// ustawienie wybranego koloru
private void pb_tbKolorLinii_SystemColorsChanged(object sender, EventArgs e)
{
Color pb_NowyKolor;
pb_NowyKolor = pb_tbKolorObiektu.BackColor;
pb_KolorObiektu = pb_NowyKolor;
}
// obsługa reakcji na zmiane wartości text w kontrolce ilosc obiektów
private void pb_tbIlośćObiektów_TextChanged(object sender, EventArgs e)
{
int pb_IlośćObiektów = Convert.ToInt32(pb_tbIlośćObiektów.Text);
pb_MaxIlośćObiektów = pb_IlośćObiektów;
pb_clbListaObiektówGraficznych.Enabled = true;
}
//---------------------------------------------------------------------------//
// Niezbędne metody publiczne //
//---------------------------------------------------------------------------//
// metoda ponownie rysująca całą zawartosc tablicy obiektów
public void pb_RysujOdNowa()
{
int pb_długośćTablicy = pb_dgwAktualnaListaObiektów.Rows.Count;
for (int pb_i = 0; pb_i < pb_długośćTablicy - 1; pb_i++)
{
pb_TablicaFigurGeometrycznych[pb_i].pb_CMRysujFigura();
}
}
// metoda wpisująca dane do tabeli DataGridView
public void pb_NapełnijDataGridView()
{
pb_dgwAktualnaListaObiektów.Rows.Add();
switch (pb_clbListaObiektówGraficznych.SelectedIndex)
{
case 0:
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Punkt";
break;
case 1:
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Linia";
break;
case 2:
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Koło";
break;
case 3:
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Elipsa";
break;
case 4:
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Prostokąt";
break;
case 5:
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Kwadrat";
break;
case 6:
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Trapez";
break;
case 7:
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Trójkąt";
break;
}
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[1].Style.BackColor = pb_tbKolorObiektu.BackColor;
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[4].Value = pb_Index;
}
// metoda porządkowa - wyłącza dostęp do powtarzalnego zestawu kontrolek
public void pb_WyłączKontrolki1()
{
pb_btDefiniowanieParametrówPołożenia.Enabled = false;
pb_lbKolorObiektu.Visible = false;
pb_tbKolorObiektu.Visible = false;
pb_lbWybórRodzajuLinii.Visible = false;
pb_cbRodzajLinii.Visible = false;
pb_lbGrubośćLinii.Visible = false;
pb_trackbarGLV.Visible = false;
pb_btDraw.Enabled = false;
pb_btUsuńWybraneFigury.Enabled = true;
}
// metoda porządkowa - wyświetla lub uruchamia powtarzalny zestaw kontrolek
public void pb_UruchomKontrolki1()
{
pb_btDefiniowanieParametrówPołożenia.Enabled = true;
pb_lbKolorObiektu.Visible = true;
pb_tbKolorObiektu.Visible = true;
pb_lbWybórRodzajuLinii.Visible = true;
pb_cbRodzajLinii.Visible = true;
pb_lbGrubośćLinii.Visible = true;
pb_trackbarGLV.Visible = true;
}
// metoda przekazująca wartość metody Enabled kontrolki Draw do formularza PobieranieDanych
public bool pb_btDrawEnable
{
get { return pb_btDraw.Enabled; }
set { pb_btDraw.Enabled = value; }
}
// metoda pobierająca informacje o tym która figóra została wybrana
public void pb_PobieżNumerFigury(out int pb_WybranaFigura)
{
pb_WybranaFigura = pb_clbListaObiektówGraficznych.SelectedIndex;
}
// metoda obsługi obiektu CheckedListBox
private void pb_clbListaObiektówGraficznych_ItemCheck(object sender, ItemCheckEventArgs e)
{
// deklaracja zmiennej lokalnej
int pb_ZaznaczonaFigura;
// przypisanie zmiennej do indexu zaznaczonej figury
pb_ZaznaczonaFigura = pb_clbListaObiektówGraficznych.SelectedIndex;
// obsługa indexow wyłączająca inne zaznaczone figury po zaznaczeniu kolejnej
if (pb_ZaznaczonaFigura == 0)
{
{
for (int i = 0; i < pb_clbListaObiektówGraficznych.Items.Count; ++i)
if (i != e.Index) pb_clbListaObiektówGraficznych.SetItemChecked(i, false);
}
pb_btDefiniowanieParametrówPołożenia.Enabled = true;
pb_lbKolorObiektu.Visible = true;
pb_tbKolorObiektu.Visible = true;
}
else
if (pb_ZaznaczonaFigura == 1)
{
{
for (int ix = 0; ix < pb_clbListaObiektówGraficznych.Items.Count; ++ix)
if (ix != e.Index) pb_clbListaObiektówGraficznych.SetItemChecked(ix, false);
}
pb_UruchomKontrolki1();
}
else
if (pb_ZaznaczonaFigura == 2)
{
{
for (int ix = 0; ix < pb_clbListaObiektówGraficznych.Items.Count; ++ix)
if (ix != e.Index) pb_clbListaObiektówGraficznych.SetItemChecked(ix, false);
}
pb_UruchomKontrolki1();
}
else
if (pb_ZaznaczonaFigura == 3)
{
{
for (int ix = 0; ix < pb_clbListaObiektówGraficznych.Items.Count; ++ix)
if (ix != e.Index) pb_clbListaObiektówGraficznych.SetItemChecked(ix, false);
}
pb_UruchomKontrolki1();
}
else
if (pb_ZaznaczonaFigura == 4)
{
{
for (int ix = 0; ix < pb_clbListaObiektówGraficznych.Items.Count; ++ix)
if (ix != e.Index) pb_clbListaObiektówGraficznych.SetItemChecked(ix, false);
}
pb_UruchomKontrolki1();
}
else
if (pb_ZaznaczonaFigura == 5)
{
{
for (int ix = 0; ix < pb_clbListaObiektówGraficznych.Items.Count; ++ix)
if (ix != e.Index) pb_clbListaObiektówGraficznych.SetItemChecked(ix, false);
}
pb_UruchomKontrolki1();
}
else
if (pb_ZaznaczonaFigura == 6)
{
{
for (int ix = 0; ix < pb_clbListaObiektówGraficznych.Items.Count; ++ix)
if (ix != e.Index) pb_clbListaObiektówGraficznych.SetItemChecked(ix, false);
}
pb_UruchomKontrolki1();
}
else
if (pb_ZaznaczonaFigura == 7)
{
{
for (int ix = 0; ix < pb_clbListaObiektówGraficznych.Items.Count; ++ix)
if (ix != e.Index) pb_clbListaObiektówGraficznych.SetItemChecked(ix, false);
}
pb_UruchomKontrolki1();
}
}
//---------------------------------------------------------------------------//
// Zabezpieczenia przed głupota urzytkownika - tak jest prościej //
//---------------------------------------------------------------------------//
// ogranicznie wprowadzania znaków do samych cyfr i Backspace
private void tbX1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}
// ogranicznie wprowadzania znaków do samych cyfr i Backspace
private void tbY1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}
// ogranicznie wprowadzania znaków do samych cyfr i Backspace
private void tbX2_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}
// ogranicznie wprowadzania znaków do samych cyfr i Backspace
private void tbY2_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}
// ogranicznie wprowadzania znaków do samych cyfr i Backspace
private void tbIloscPowtorzen_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}
// ogranicznie wprowadzania znaków do samych cyfr i Backspace
private void tbPrzesunięcieWPoziomie_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}
// ogranicznie wprowadzania znaków do samych cyfr i Backspace
private void tbPrzesuniecieWPionie_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}
// ogranicznie wprowadzania znaków do samych cyfr i Backspace
private void pb_tbGrubośćLinii_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}
// ograniczenie wprowadzania znaków do sammych cyfr i Backspace
private void pb_tbWylosowanoXObiektów_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}
private void pb_TestowaPlanszaGraficzna_Load(object sender, EventArgs e)
{
for (int pb_usuń = 0; pb_usuń < pb_dgwAktualnaListaObiektów.Rows.Count; pb_usuń++)
{
if (string.Equals(pb_dgwAktualnaListaObiektów[0, pb_usuń].Value as string, ""))
{
pb_dgwAktualnaListaObiektów.Rows.RemoveAt(pb_usuń);
pb_usuń--;
}
}
}
private void pb_PlanszaGraficzna_Paint(object sender, PaintEventArgs e)
{
pb_RysujOdNowa();
}
// wylosowanie ilośc figur (długości tablicy)
private void pb_btLosujIlośćFigur_Click(object sender, EventArgs e)
{
pb_lbListaObiektów.Visible = false;
pb_clbListaObiektówGraficznych.Visible = false;
pb_Form2 = new pb_PodstawoweWspółrzędne();
int pb_Xr1 = 0, pb_Yr1 = 0, pb_Xr2 = 0, pb_Yr2 = 0;
Color pb_WybranyKolor;
int pb_GrubośćLinii;
DashStyle pb_RodzajLinii = DashStyle.Solid;
int pb_Promień = 1;
int pb_WylosowanaLiczbaFigur;
Random pb_LiczbaLosowa = new Random();
int pb_XMaxRozmiarPlanszyGraf = this.pb_PlanszaGraficzna.Width;
int pb_YMaxRozmiarPlanszyGraf = this.pb_PlanszaGraficzna.Height;
pb_WylosowanaLiczbaFigur = pb_LiczbaLosowa.Next(1, 10);
pb_tbIlośćObiektów.Text = Convert.ToString(pb_WylosowanaLiczbaFigur);
pb_btLosujIlośćFigur.Text = "Wylosowano :";
pb_btLosujIlośćFigur.Enabled = false;
pb_clbListaObiektówGraficznych.Enabled = true;
for (int i = 0; i < pb_TablicaFigurGeometrycznych.Length; i++)
{
pb_Xr1 = pb_LiczbaLosowa.Next(pb_Margines, pb_XMaxRozmiarPlanszyGraf - pb_Margines);
pb_Yr1 = pb_LiczbaLosowa.Next(pb_Margines, pb_YMaxRozmiarPlanszyGraf - pb_Margines);
pb_Xr2 = pb_LiczbaLosowa.Next(pb_Margines, pb_XMaxRozmiarPlanszyGraf - pb_Margines);
pb_Yr2 = pb_LiczbaLosowa.Next(pb_Margines, pb_YMaxRozmiarPlanszyGraf - pb_Margines);
pb_WybranyKolor = Color.FromArgb(pb_LiczbaLosowa.Next(0, 256),
pb_LiczbaLosowa.Next(0, 256),
pb_LiczbaLosowa.Next(0, 256));
pb_GrubośćLinii = pb_LiczbaLosowa.Next(1, 5);
pb_Promień = pb_LiczbaLosowa.Next(5, pb_YMaxRozmiarPlanszyGraf / 4);
switch (pb_LiczbaLosowa.Next(1, 6))
{
case 1:
pb_RodzajLinii = DashStyle.Dash;
break;
case 2:
pb_RodzajLinii = DashStyle.DashDot;
break;
case 3:
pb_RodzajLinii = DashStyle.DashDotDot;
break;
case 4:
pb_RodzajLinii = DashStyle.Dot;
break;
case 5:
pb_RodzajLinii = DashStyle.Solid;
break;
}
if (pb_Index < pb_MaxIlośćObiektów - 1)
{
pb_Form2.pb_x1 = pb_Xr1;
pb_Form2.pb_x2 = pb_Xr2;
pb_Form2.pb_y1 = pb_Yr1;
pb_Form2.pb_y2 = pb_Yr2;
pb_Form2.pb_Promień = pb_Promień;
pb_KolorObiektu = pb_WybranyKolor;
pb_WybranaGrubośćLinii = pb_GrubośćLinii;
pb_WybranaLinia = pb_RodzajLinii;
pb_WylosowanaLiczbaFigur = pb_MaxIlośćObiektów;
switch (pb_LiczbaLosowa.Next(1, 8))
{
case 0:
pb_clbListaObiektówGraficznych.SetItemChecked(0, true);
pb_Index++;
pb_dgwAktualnaListaObiektów.Rows.Add();
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Punkt";
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[1].Style.BackColor = pb_KolorObiektu;
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[4].Value = pb_Index;
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CPunkt(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_Promień, pb_KolorObiektu, pb_DrawArea);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
break;
case 1:
pb_clbListaObiektówGraficznych.SetItemChecked(1, true);
pb_Index++;
pb_dgwAktualnaListaObiektów.Rows.Add();
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Linia";
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[1].Style.BackColor = pb_KolorObiektu;
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[4].Value = pb_Index;
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CLinia(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_x2, pb_Form2.pb_y2, pb_KolorObiektu, pb_WybranaGrubośćLinii, pb_WybranaLinia, pb_DrawArea);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
//pb_WyłączKontrolki1();
break;
case 2:
pb_clbListaObiektówGraficznych.SetItemChecked(2, true);
pb_Index++;
pb_dgwAktualnaListaObiektów.Rows.Add();
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Koło";
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[1].Style.BackColor = pb_KolorObiektu;
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[4].Value = pb_Index;
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CKoło(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_DrawArea, pb_KolorObiektu, pb_WybranaGrubośćLinii, pb_WybranaLinia, pb_Form2.pb_Promień);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
//pb_WyłączKontrolki1();
break;
case 3:
pb_clbListaObiektówGraficznych.SetItemChecked(3, true);
pb_Index++;
pb_dgwAktualnaListaObiektów.Rows.Add();
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Elipsa";
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[1].Style.BackColor = pb_KolorObiektu;
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[4].Value = pb_Index;
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CElipsa(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_x2, pb_Form2.pb_y2, pb_DrawArea, pb_KolorObiektu, pb_WybranaGrubośćLinii, pb_WybranaLinia);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
//pb_WyłączKontrolki1();
break;
case 4:
pb_clbListaObiektówGraficznych.SetItemChecked(4, true);
pb_Index++;
pb_dgwAktualnaListaObiektów.Rows.Add();
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Prostokąt";
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[1].Style.BackColor = pb_KolorObiektu;
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[4].Value = pb_Index;
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CProstokąt(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_x2, pb_Form2.pb_y2, pb_KolorObiektu, pb_WybranaGrubośćLinii, pb_WybranaLinia, pb_DrawArea);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
//pb_WyłączKontrolki1();
break;
case 5:
pb_clbListaObiektówGraficznych.SetItemChecked(5, true);
pb_Index++;
pb_dgwAktualnaListaObiektów.Rows.Add();
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Kwadrat";
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[1].Style.BackColor = pb_KolorObiektu;
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[4].Value = pb_Index;
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CKwadrat(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_Promień, pb_KolorObiektu, pb_WybranaGrubośćLinii, pb_WybranaLinia, pb_DrawArea);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
//pb_WyłączKontrolki1();
break;
case 6:
pb_clbListaObiektówGraficznych.SetItemChecked(6, true);
pb_Index++;
pb_dgwAktualnaListaObiektów.Rows.Add();
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "Trapez";
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[1].Style.BackColor = pb_KolorObiektu;
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[4].Value = pb_Index;
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CTrapez(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_x2, pb_Form2.pb_y2, pb_Form2.pb_Promień, pb_KolorObiektu, pb_WybranaGrubośćLinii, pb_WybranaLinia, pb_DrawArea);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
//pb_WyłączKontrolki1();
break;
case 7:
pb_clbListaObiektówGraficznych.SetItemChecked(7, true);
pb_Index++;
pb_dgwAktualnaListaObiektów.Rows.Add();
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[0].Value = "trujkąt";
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[1].Style.BackColor = pb_KolorObiektu;
pb_dgwAktualnaListaObiektów.Rows[pb_Index].Cells[4].Value = pb_Index;
pb_TablicaFigurGeometrycznych[pb_Index] = new pb_CTrójkąt(pb_Form2.pb_x1, pb_Form2.pb_y1, pb_Form2.pb_x2, pb_DrawArea, pb_KolorObiektu, pb_WybranaGrubośćLinii, pb_WybranaLinia, pb_Form2.pb_Promień);
pb_TablicaFigurGeometrycznych[pb_Index].pb_CMRysujFigura();
//pb_WyłączKontrolki1();
break;
}
//return;
}
}
}
}
}