• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program rysujący figury nie działa :( C#

Object Storage Arubacloud
0 głosów
422 wizyt
pytanie zadane 22 października 2016 w C# przez Paweł Nąckiewicz Nałogowiec (48,990 p.)

Witam. 

Zrobiłem coś co powinno rysować wybrana figurę niestety program nie działa.

W kodzie są takie obiekty jak:

textBox1 - wpisywanie dlugosci a lub r

textBox2 -wpisywanie dl b (tam gdzie potrzebne (kwadrat trojkat)

textBox3- wspolrzena x

textBox4- wsp y

ComboBox -> Selekcja figury - index 0 kwadrat, 1 prostokat,2 trojkat,3 koło

oto kod (program kompiluje sie poprawnie ale nic nie rysuje :(


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 WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }                    
        private void Form1_Load(object sender, EventArgs e)
        {
            Wyczysc_button.Visible = false;
        }
        private void formula_wyczysc()
        {
            Wyczysc_button.Visible = true;
            Rysuj_button.Visible = false;
            textBox1.Enabled = false;
            textBox2.Enabled = false;
            textBox3.Enabled = false;
            textBox4.Enabled = false;
            comboBox1.Enabled = false;
            comboBox2.Enabled = false;
       }
        //zdarzenie dla przycisku rysuj
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox1.Text != "" && textBox3.Text != "" && textBox4.Text != "")
                {
                    //kwadrat
                    if (comboBox1.SelectedIndex == 0)
                    {
                        int wsp_x, wsp_y, dl_a;
                        dl_a = int.Parse(textBox1.Text);
                        wsp_x = int.Parse(textBox3.Text);
                        wsp_y = int.Parse(textBox4.Text);
                        Kwadrat square = new Kwadrat(CreateGraphics());
                        square.create(wsp_x, wsp_y, dl_a);
                        formula_wyczysc();
                    }
                    //prostokat
                    else if (comboBox1.SelectedIndex == 1)
                    {
                        int wsp_x, wsp_y, dl_a, dl_b;
                        dl_a = int.Parse(textBox1.Text);
                        dl_b = int.Parse(textBox2.Text);
                        wsp_x = int.Parse(textBox3.Text);
                        wsp_y = int.Parse(textBox4.Text);
                        Prostokat rectangle = new Prostokat(CreateGraphics());
                        rectangle.create(wsp_x, wsp_y, dl_a, dl_b);
                        formula_wyczysc();
                    }
                    //trojkat
                    else if (comboBox1.SelectedIndex == 2)
                    {
                        int wsp_x, wsp_y, dl_a, dl_h;
                        dl_a = int.Parse(textBox1.Text);
                        dl_h = int.Parse(textBox2.Text);
                        wsp_x = int.Parse(textBox3.Text);
                        wsp_y = int.Parse(textBox4.Text);
                        Trojkat triangle = new Trojkat(CreateGraphics());
                        triangle.create(wsp_x,wsp_y,dl_a,dl_h);
                        formula_wyczysc();
                    }
                    //kolo
                    else if (comboBox1.SelectedIndex == 3)
                    {
                        int wsp_x, wsp_y, dl_r;
                        dl_r = int.Parse(textBox1.Text);
                        wsp_x = int.Parse(textBox3.Text);
                        wsp_y = int.Parse(textBox4.Text);
                        Kolo circle = new Kolo(CreateGraphics());
                        circle.create(wsp_x, wsp_y, dl_r);
                        formula_wyczysc();
                    }
                }
            }
            catch
            {
                MessageBox.Show("Złe dane! Spróbój ponownie:)","Error", MessageBoxButtons.OK);
            }
        }
 
        private void Wyczysc_button_Click(object sender, EventArgs e)
        {
             
        }
        //selekcja figur
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //kwadrat
         if(comboBox1.SelectedIndex==0)
            {
                textBox1.Visible = true;
                textBox1.Text = "bok a";
                textBox2.Visible = false;
                textBox3.Visible = true;
                textBox3.Text = "x";
                textBox4.Visible = true;
                textBox4.Text = "y";
            }
            //prostokat
            else if (comboBox1.SelectedIndex == 1)
            {
                textBox1.Visible = true;
                textBox1.Text = "bok a";
                textBox2.Visible = true;
                textBox2.Text = "bok b";
                textBox3.Visible = true;
                textBox3.Text = "x";
                textBox4.Visible = true;
                textBox4.Text = "y";
            }
            //trojkat
            else if (comboBox1.SelectedIndex == 2)
            {
                textBox1.Visible = true;
                textBox1.Text = "bok a";
                textBox2.Visible = true;
                textBox2.Text = "wysokosc h";
                textBox3.Visible = true;
                textBox3.Text = "x";
                textBox4.Visible = true;
                textBox4.Text = "y";
            }
            //kolo
            else if (comboBox1.SelectedIndex == 3)
            {
                textBox1.Visible = true;
                textBox1.Text = "promień r";
                textBox2.Visible = false;
                textBox3.Visible = true;
                textBox3.Text = "x";
                textBox4.Visible = true;
                textBox4.Text = "y";
            }
 
        }
    }
    class Kwadrat
    {
        public Kwadrat(Graphics graph)
        {
            g = graph;
        }
 
        Graphics g;
        Rectangle r;
        Pen p;
        public void create(int KW_wsp_x, int KW_wsp_y, int KW_dl_a)
        {
            p = new Pen(Brushes.DarkGreen);
            r = new Rectangle(KW_wsp_x, KW_wsp_y, KW_dl_a, KW_dl_a);
            g.DrawRectangle(p, r);
        }
    }
    class Trojkat
    {
        public Trojkat(Graphics graph)
        {
            g = graph;
        }
        Graphics g;
        public void create(int x, int y, int a, int h)
        {
            Pen blackPen = new Pen(Color.Black, 3);
 
            Point point1 = new Point(x, y);
            Point point2 = new Point(x, (y+h));
            Point point3 = new Point((x+h), y);
            Point[] curvePoints = { point1, point2, point3 };
                          
 
            // Draw polygon to screen.
            g.DrawPolygon(blackPen, curvePoints);
        }
    }
    class Prostokat
    {
        public Prostokat(Graphics graph)
        {
            g = graph;
        }
        Graphics g;
        Rectangle r;
        Pen p;
 
        public void create(int KW_wsp_x, int KW_wsp_y, int KW_dl_a, int KW_dl_b)
        {
            p = new Pen(Brushes.DarkGreen);
            r = new Rectangle(KW_wsp_x, KW_wsp_y, KW_dl_a, KW_dl_b);
            g.DrawRectangle(p, r);
        }
    }
    class Kolo
    {
        public Kolo(Graphics graph)
        {
            g = graph;
        }
        Graphics g;
        Pen p;
 
        public void create(int KW_wsp_x, int KW_wsp_y, int KW_dl_r)
        {
            p = new Pen(Brushes.Green);
            g.DrawEllipse(p, KW_dl_r, KW_dl_r,KW_wsp_x, KW_wsp_y);
        }
    }
}

 

WindowsForm

 

1 odpowiedź

0 głosów
odpowiedź 25 października 2016 przez Dorion300 Szeryf (90,250 p.)
W czym dokładniej jest problem?
U mnie prawidłowo rysuje kwadrat jak i inne kształty.
Czy jesteś pewny że prawidłowo uzupełniłeś ComboBoxy?
http://i.imgur.com/dAvcOAN.png

Czy mógłbyś podać cały projekt w postaci pliku?

Podobne pytania

+1 głos
0 odpowiedzi 706 wizyt
0 głosów
3 odpowiedzi 7,979 wizyt
pytanie zadane 4 lutego 2018 w C i C++ przez kubal0101 Początkujący (280 p.)
+1 głos
2 odpowiedzi 4,103 wizyt
pytanie zadane 11 kwietnia 2017 w C i C++ przez programistalvl0hehe Nowicjusz (240 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...