witam,
mam do zrobienia program ktory kwadrat bedzie dzielil na mniejsze kwadraciki a te powstale kwadraciki na trojkaty
wiec to zrobilem lepiej lub gorzej to pozostawiam do oceny wam
ale efekt mnie niezadowala bo w oknie wynikowym dostaje cos takiego :
http://img63.yfrog.com/i/oczekiwana.jpg/
jednak jak zminimalizuje , wyjade za ekran , pomniejsze etc. to linie skosne znikaja (znika ta czesc ktora byla chwilowo niewidoczna czyli jak pomniejsze okno tak ze zakryje pol tabeli to znika mi polowa jak zminimalizuje to wszystkie przyklad : http://img8.imageshack.us/img8/6042/zwalone.jpg )
ponizej zamieszczam jeszcze kod form1 i form2 i link do aktualnego stanu rzeczy czyli spakowanego projektu jak by ktos byl na tyle dobry zeby to dokladnie sprawdzic http://rapidshare.com/files/321625384/trojkaty.rar.html
wiem ze duzo niepotrzebnych zmiennych itd. ;p
prosze o pomoc wyjasnienie / edycje kodu / podpowiedz cokolwiek PLZZZ dlaczego tak sie dzieje ???
//Form1
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;
namespace trojkaty
{
public partial class Form1 : Form
{
int aa;
public double x1, x2, x3, x4;
public string ss;
public Form1()
{
InitializeComponent();
textBox1.MaxLength = 5;
textBox2.MaxLength = 5;
textBox3.MaxLength = 5;
textBox4.MaxLength = 5;
}
void button1_Click(object sender, EventArgs e)
{
var F2 = new Form2();
F2.Show();
ss = textBox1.Text;
x1 = Convert.ToDouble(ss);
ss = textBox2.Text;
x2 = Convert.ToDouble(ss);
ss = textBox3.Text;
x3 = Convert.ToDouble(ss);
ss = textBox4.Text;
x4 = Convert.ToDouble(ss);
F2.drozx = x1;
F2.drozy = x2;
F2.dpodx = x3;
F2.dpody = x4;
F2.srozx = Convert.ToString(F2.drozx);
F2.srozy = Convert.ToString(F2.drozy);
F2.spodx = Convert.ToString(F2.dpodx);
F2.spody = Convert.ToString(F2.dpody);
aa++;
F2.Text = "Rysunek " + aa;
}
}
}
//FORM2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace trojkaty
{
public partial class Form2 : Form
{
public Pen pioro;
public float frozx, frozy, fpodx, fpody, a;
public double drozx, drozy, dpodx, dpody;
public string srozx, srozy, spodx, spody;
public Point punkt1, punkt2;
public int a1, b1, a2, b2, x, y, liczpodx = 0, liczpody = 0, xx=0, yy=0,ii=1;
public Form2()
{
InitializeComponent();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen pioro = new Pen(Color.Black);
g.DrawRectangle(pioro, 5, 5, Convert.ToInt64(drozx), Convert.ToInt64(drozy));
x = Convert.ToInt32(drozx) / Convert.ToInt32(dpodx);
y = Convert.ToInt32(drozy) / Convert.ToInt32(dpody);
liczpodx = Convert.ToInt32(dpodx);
liczpody = Convert.ToInt32(dpody);
//RYSOWANIE KRESEK PIONOWYCH
for (int i = 0; i < liczpodx; i++)
{
a1 = 5 + x * i;
b1 = 5;
a2 = 5 + x * i;
b2 = 5 + Convert.ToInt32(drozy);
Point punkt1 = new Point(a1, b1);
Point punkt2 = new Point(a2, b2);
g.DrawLine(pioro, punkt1, punkt2);
}
//RYSOWANIE KRESEK POZIOMYCH
for (int i = 0; i < liczpody; i++)
{
a1 = 5;
b1 = 5 + y * i;
a2 = 5 + Convert.ToInt32(drozx);
b2 = 5 + y * i;
Point punkt1 = new Point(a1, b1);
Point punkt2 = new Point(a2, b2);
g.DrawLine(pioro, punkt1, punkt2);
}
//RYSOWANIE KRESEK SKOSNYCH
for (int i = 1; ii - 1 < Convert.ToInt32(dpodx) * Convert.ToInt32(dpody); i++)
{
a1 = 5 + x * i;
b1 = 5 + y * yy;
a2 = 5 + x * (i - 1);
b2 = 5 + y * (yy + 1);
Point punkt1 = new Point(a1, b1);
Point punkt2 = new Point(a2, b2);
g.DrawLine(pioro, punkt1, punkt2);
if (i == liczpodx)
{
i = 0;
yy++;
}
ii++;
}
}
}
}
PS: Przepraszam za bledy jestem dysortografem i dyslektykiem ;( !
POZDRAWIAM
hip9k