如何将标志从子表单传递给父表单?

时间:2011-08-24 08:18:56

标签: c#

我将boolean标志从子窗体传递给父窗体时遇到问题。

我知道如何将它从parentform传递给childform,例如:

在主要形式上:

Camera settings = new Camera(this.fullPath3);
settings.ShowDialog();

关于childform:

public partial class Camera : Form
    {
        //Zmienne przekazywane - sciezka do zapisu wzorca, 
        string _fullPath3;

...

  public Camera(string fullPath3)
    {

        InitializeComponent();
        _fullPath3 = fullPath3;

它正在发挥作用。如何添加一个bool Flag,作为我的childform的返回?

类似的东西:

关于childform:

 public Camera(string fullPath3, bool flag)

在主要形式上:

  Camera settings = new Camera(this.fullPath3,this.flag);
  settings.ShowDialog();
  if (flag==true) text2.text="OK!";

2 个答案:

答案 0 :(得分:1)

简单,Camera是一个表单,只需添加一个公共属性即可。

public class Camera : Form
{
   private string _fullPath3;
   private bool flag;
    public Camera(string fullPath3)
    {

        InitializeComponent();
        _fullPath3 = fullPath3;
    }

    // set flag to something somewhere
    public bool Flag{ get{ return flag; } }

}

现在只是:

Camera settings = new Camera(this.fullPath3);
settings.ShowDialog();
if (settings.Flag) text2.text="OK!";

请记住ShowDialog暂停执行!

答案 1 :(得分:0)

只需在Camera表单中实现内部或公共属性,并在其中设置此属性。

这样的事情:

  Camera settings = new Camera(this.fullPath3,this.flag);
  settings.ShowDialog();
  if (settings.Flag) text2.text="OK!";