在WinForm中为了要在子窗口listBox中显示多个结果,
请问下大虾们如何处理,
首先申明我是在主窗体中实例化再用Show()显示子窗口的,故要考虑到不能弹出多个子窗体

解决方案 »

  1.   

    就是最初为了实现在另一个界面的listBox中显示判断结果,
    我先在Form1中Form2 win=new Form2(),
    然后再win show()
    目前遇到的问题是怎么在Form1中传递每次判断而得出的结果呢?
    如果每次判断都先Form2 win=new Form2()的话,会弹出N多个界面的
    望大虾赐教一二?不甚感激
      

  2.   

    win.ShowDialog();
    就只会显示一个窗体的。
      

  3.   

    楼主,你想问的是在主窗口中修改值,然后在另外一个窗体中的listbox显示变化的值是吗?
      

  4.   

    在运用的时候通过对输入信息判断直接在另一个窗体中显示判断结果
    主要是有许多判断结果要显示,所以用到了listBox
      

  5.   

    你说的用ShowDialog()虽然只显示了一个窗口,但判断结果实际上还是储存在两个窗口中的,只不过是一个一个地显示而已
      

  6.   

    在第二个窗体的默认构造函数里定义一些变量来接收,
    Form2 win=new Form2(string s1,string s2...);
    另一个窗体中
    private string _s1,string _s2
    Public Form2(string s1,string s2)
    {
      this._s1=s1,this._s2=s2
    }然后再win show();
      

  7.   

    许多判断结果一定要放到ListBox里面吗?应该还有其他的吧!嘿嘿!
      

  8.   

    防止弹出多个窗体:
    ===================
    Form2中:
    public Form2()
    {
        InitializeComponent();
        IsCreated = true;
    }
    public static bool IsCreated=false;
    ========================
    form1中:
    private void button1_Click(object sender, EventArgs e)
    {
        if (!Form2.IsCreated)
        {
            Form2 fm = new Form2();
            fm.Show(this);
        }
    }
      

  9.   

    Form2添加listBox1,代码:
    public Form2()
    {
        InitializeComponent();
        IsCreated = true;
    }
    public static bool IsCreated=false;
    public ListBox listBox
    {
        get {
            return listBox1;
        }
        set {
            listBox1 = value;
        }
    }
    =================
    Form1中操作Form2中ListBox1:
    private void button1_Click(object sender, EventArgs e)
    {
        if (!Form2.IsCreated)
        {
            Form2 fm = new Form2();
            fm.Show(this);
        }
        foreach (Form f in this.OwnedForms)
        {
            if (f is Form2)
            {
                ListBox list = ((Form2)f).listBox;
                list.Items.Add("test");
            }
        }
    }
      

  10.   

    注意:
    fm.Show(this);没有this参数,下面的this.OwnedForms不会有结果==============
    ~闪人~~~~~~~~
      

  11.   

    Form2 win=new Form2(string s1,string s2...sn);
    另一个窗体中
    private string _s1,string _s2...,string _sn
    Public Form2(string s1,string s2)
    {
      this._s1=s1,this._s2=s2,this._sn=sn;
    }
    把循环得到的结果全部获取完再Show 第二个窗体