我正在以第一种形式创建对象并将其添加到字典中。我想以第二种形式搜索它,因为我想根据在第一种形式中创建的对象在面板上绘制标志。
我看到了这个 主题,但我不知道,我必须如何向 Form2 添加一个以 Form 作为参数的构造函数?
我试图制作单例字典,但我也不知道如何在 foreach 循环中从字典中获取值。
当每样东西都采用相同的形式时,我应该通过以下方式制作:luskanie.value.rodzaj,如果我有两种形式,这不起作用。
form1 字典中的代码:
public partial class Form1 : Form
{
public static Dictionary<int, baza> naszalista = new Dictionary<int, baza>();
This is second form:
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();
foreach (KeyValuePair<int, baza> luskanie in Form1.naszalista)
{
if (baza.rodzaj == "funkcja")
{
rysujem.FillEllipse(funkcja,20,20,40,20);
rysujem.DrawString(funkcjazdarzenie.opis, 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")
{
}
}
}
}
}
感谢任何建议,我试图具体说明这个问题。
我在这里添加,还有简短描述的类
public class baza /* this is superior class, it contains rodzaj = which give me opportunity, to know which shape shold be printed, idpoprzedniego give me chance to know after which shape it should be printed */
{
public string rodzaj;
public int idpoprzedniego;
}
现在从 baza 继承的类,它有一个构造函数,并有一个新的字符串 opis = 包含描述动作的文本。例如“老板需要签署文件”
public class funkcjazdarzenie : baza //
{
public string opis;
public funkcjazdarzenie(string krodzaj, string kopis, int kidpoprzedniego)
{
rodzaj = krodzaj;
idpoprzedniego = kidpoprzedniego;
opis = kopis;
}
}
Xor/Or/and 在插图上具有相同的符号,它将是圆形,但它们之间的区别将在形状中间的文本中,就像类的名称一样,它将是 xor/or/and
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;
}
}