Siemka, dzięki za odpowiedź, ale nie kumam do końca jak to zrobić.
Mam klasę "matkę" od której wszystkie klasy dziedziczą
public class baza{
public static string rodzaj;
}
obiekty od klas pochodnych są konstruowane w form1, chodzi Ci żeby zrobić klasę w formie2, której metody parametrem będzie obiekt z formy1?
Nie wywaliło mi błędu jak wpisałem baza.rodzaj, ale chyba to nie pasuje.
Gdyby to było w tej samej formie, to według poradnika pobrałbym to luskanie.Value.rodzaj, więc szukałem z tym luskaniem kombinacji, bo chyba to slowo jest odpowiedzialne za to, że co pętle sprawdzamy kolejny obiekt.
Pozdrawiam
Edited
Czytam i mało z tego kumam, kombinuje jak koń pod górę i cholera nic nie wychodzi, zrobiłem teraz kolekcje jako singletona, niby jest widoczna w drugiej formie, ale nadal nie wiem jak ta wartość przyrównywać, żeby to było pobierane z obiektu na którym w danym momencie spoczywa wskaźnik pętli.
Co do wrzucania formy jako konstruktor to tu gdzieś powiina się forma jako parametr pojawić ??
public diagram()
{
InitializeComponent();
}
Kod z którym walczę
Deklaracja kolekcji
public class DictionarySigleton
{
public static readonly Dictionary<int, baza> naszalista = new Dictionary<int, baza>(); // deklaracja kolekcji, w której przechowywane będa obiekty klas(funkcje/zdarzenia/xor/or/and)
}
klasy jakie może przechowywać
public class baza // deklaracja klasy bazowje dla roznych elementow notacji
{
public static string rodzaj;
public static int idpoprzedniego;
}
public class funkcjazdarzenie : baza // narazie funkcja a zdarzenie nie roznia sie elementami jakie zawieraja( klasa sie zmieni jak bedziemy przedstawiac je graficznie
{
public static string opis;
public static string nazwa;
public funkcjazdarzenie(string krodzaj, string knazwa, string kopis, int kidpoprzedniego)
{
rodzaj = krodzaj;
idpoprzedniego = kidpoprzedniego;
nazwa = knazwa;
opis = kopis;
}
}
public class xor : baza //klasa odpowiedzialna za xora
{
public xor(string krodzaj,int kidpoprzedniego)
{
rodzaj = krodzaj;
idpoprzedniego = kidpoprzedniego;
}
}
public class or : baza //klasa odpowiedzialna za ora
{
public or(string krodzaj,int kidpoprzedniego)
{
rodzaj = krodzaj;
idpoprzedniego = kidpoprzedniego;
}
}
public class and : baza // klasa odpowiedzialna za and
{
public and(string krodzaj,int kidpoprzedniego)
{
rodzaj = krodzaj;
idpoprzedniego = kidpoprzedniego;
}
}
druga forma
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 _1dwa3
{
public partial class diagram : Form
{
public diagram()
{
InitializeComponent();
}
private void diagram_Load(object sender, EventArgs e)
{
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
SolidBrush laczniki = new SolidBrush(Color.Gray);
Pen lacznikipen = new Pen(Color.Gray, 5);
SolidBrush funkcja = new SolidBrush(Color.Green);
Pen funkcjapen = new Pen(Color.Green, 5);
SolidBrush zdarzenie = new SolidBrush(Color.Red);
Pen zdarzeniepen = new Pen(Color.Red, 5);
SolidBrush strzalka = new SolidBrush(Color.Black);
Graphics rysujem = panel1.CreateGraphics();
// for (int jedziemy = 1; jedziemy <= Form1.i; jedziemy++) {
// }
foreach (KeyValuePair<int, baza> luskanie in DictionarySigleton.naszalista)
{
if (DictionarySigleton.naszalista. == "funkcja")
{
rysujem.FillEllipse(funkcja,20,20,40,20);
rysujem.DrawString(funkcjazdarzenie.nazwa, new Font("Segoe", 9), Brushes.Green, 20, 20);
}
else if (baza.rodzaj == "zdarzenie")
{
rysujem.FillPie(zdarzenie,20,20,20,20,20,20);
}
else if (baza.rodzaj == "XOR")
{
}
else if (baza.rodzaj == "OR")
{
}
else if (baza.rodzaj == "AND")
{
}
}
}
}
}