我有一个表单3,其中包含一个图片框,当点击事件时触发了该图片框。如果创建了一个名为trk的int。接下来在事件中创建了一个新的表单2实例。从表单2调用名为ShowDialog的方法.int trk作为对ShowDialog的引用传递。
表格3的代码如下。
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void pictureBox1_Click(object sender, EventArgs e)
{
int trk = 45;
Form2 f2 = new Form2();
f2.ShowDialog(ref trk);
}
}
}
打开表单2方法ShowDialog,为图片框创建一个实例。在该方法中设置图片框的大小,图像等。 表格2代码
public void ShowDialog(ref int trk)
{
//Assign received parameter(s) to local context
int trk1 = trk;
if (trk1 == 45)
{
PictureBox pb = new PictureBox();
pb.Image = testsim.Properties.Resources.railroad_crossing;
// pb.Size = new Size(50, 50);
pb.Top = 200;
pb.Left = 200;
pb.SizeMode = PictureBoxSizeMode.StretchImage;
pb.MouseMove += new MouseEventHandler(pb_MouseMove);
pb.MouseDown += new MouseEventHandler(pb_MouseDown);
pb.MouseUp += new MouseEventHandler(pb_MouseButtonUp);
this.Controls.Add(pb);
trk1 = 0;
}
}
使用此代码尝试完成的概述是,当在表单3中单击一个图片框时,将在表单2中显示一个图片框。代码编译成功但在表单中单击图片框时3一个图片框没有出现在表格2中。
执行了一个步骤,它显示了一个图片框的实例是用它的所有参数创建的,但它没有在表单2中显示。如何在不创建新的情况下从不同的表单调用方法那个表格的实例? 提前感谢所有的帮助。