标题:求助啊,,,C#窗体在自定义控件中弹出另一窗体,然后关掉自定义控件的窗体
只看楼主
a819525367
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-7-10
结帖率:66.67%
已结贴  问题点数:20 回复次数:3 
求助啊,,,C#窗体在自定义控件中弹出另一窗体,然后关掉自定义控件的窗体
如题,,,我做了一部分,但是在关掉操作的时候总是有问题,关掉的不仅仅是自定义的空间的窗体,还把刚刚弹出的窗体给关掉了。。不知道是怎么回事啊,求解啊,谢谢大家了
这个是自定义控件的代码,在Form1的窗体里
 public partial class UserControl2 : UserControl
    {
        public UserControl2()
        {
            InitializeComponent();
            this.label1.BackColor = Color.Transparent;
            this.pictureBox1.Controls.Add(this.label1);
            this.label2.BackColor = Color.Transparent;
            this.pictureBox1.Controls.Add(this.label2);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 x=new Form2();
            x.Show();
            this.FindForm().Close();
        }  
    }
搜索更多相关主题的帖子: public 空间 
2011-07-10 15:51
玄懿
Rank: 2
等 级:论坛游民
帖 子:6
专家分:40
注 册:2011-5-30
得分:10 
你把主窗体关闭了,自然整个程序就关闭了。
方法一、
可以将主窗体Form1隐藏:this.Visible= false; 或者是 this.Hide();
方法二、
1你把Form2设为主窗体:在Program.cs中Application.Run(new Form2());
2 在Form2load中弹出Form1
       private void Form2_Load(object sender, EventArgs e)
        {
            Form1 form1 = new Form1();
            form1.ShowDialog();
        }
Form1中关闭Form1

        private void button1_Click(object sender, EventArgs e)
        {            this.Close();         
         }
2011-07-10 17:57
a819525367
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-7-10
得分:0 
回复 2楼 玄懿
恩,好的,我试一试
2011-07-10 21:33
dcf0620
Rank: 2
等 级:论坛游民
帖 子:2
专家分:13
注 册:2011-7-11
得分:10 
/////父窗体     
  //单击这个按钮弹出子窗体
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2(this);           
            f2.Show();            
        }
        //写一个给ComboBox添加项的方法
        public void AddItem(string item)
        {
            (item);
        }
///////////子窗体
 public partial class Form2 : Form
    {
        //定义个Form1的对象
        Form1 form1;
        //在构造函数中实例化这个对象
        public Form2(Form1 f1)
        {
            InitializeComponent();
            form1= f1;
        }
        //Form2窗体的按钮,单击按钮将Form2中的TextBox的值添加到Form1的ComboBox中
        private void button1_Click(object sender, EventArgs e)
        {
           //调用Form1的方法
            form1.AddItem(textBox1.Text);
        }      
    }
///////////按照你的思路,你可以在关闭子窗体的事件后,加入
form1.show();方法查看,这样你就知道为什么窗体关闭而父窗体的ComboBox的项没有添加进去了
2011-07-11 16:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-345145-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053514 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved