如何在不创建该表单的新实例的情况下从另一个表单调用方法? #C

时间:2017-01-28 07:57:38

标签: c#

我有一个表单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中显示。如何在不创建新的情况下从不同的表单调用方法那个表格的实例? 提前感谢所有的帮助。

0 个答案:

没有答案