winform打开新窗口同时关闭原窗口

 

方法一:
Thread th = new Thread(delegate () { new Form1().ShowDialog(); });
th.SetApartmentState(ApartmentState.STA);//单线程,防止子窗口出现跨线程问题 th.Start();
this.Close();

Thread app = new Thread(new ParameterizedThreadStart(ShowWindow));
app.ApartmentState = ApartmentState.STA;
//也可以
Thread newThread = new Thread(new ThreadStart(ThreadMethod));
newThread.SetApartmentState(ApartmentState.MTA);



方法二:
Form1 form1 = new Form1();
this.Hide();
form1.ShowDialog();
this.Dispose();

方法三:

this.Hide();
Form1 form1 = new Form1(); 
form1.ShowDialog();
this.Close();//form1关闭后,this这个窗口的关闭事件才会执行

 Winform中的Form,在显示窗口时,可以使用(非模态窗口)Show()和(模态窗口)ShowDialog()两种方式

   Show()方法启动的窗口是非模态窗口,可以跟其他界面自由切换,

   其后面的代码也会立刻执行,如:

    Form1 form1 = new Form1();

    form1.Show();

    MessageBos.Show("这里会马上显示");

 

ShowDialog()打开的窗口为模态窗口

此类窗口不能和别的窗口自由切换,而且其后面的代码必须等关闭该窗口才会执行(就像被阻塞在那里了)

       Form1 form1 = new Form1();

         form1.ShowDialog();

         MessageBos.Show("必须关闭了form1, 这里才会显示");

 

ComboBox数据绑定Lsit

 

 this.comboBox1.DataSource = list;
 comboBox1.DisplayMember = "Name";//显示的文本
 comboBox1.ValueMember = "ID";//选择获取的值

 

datatable

           //创建DataTable
            DataTable dataTable = new DataTable();
 
            dataTable.Columns.Add("ID");
            dataTable.Columns.Add("Name");
 
            DataRow dataRow = dataTable.NewRow();
 
            dataRow["ID"] = "1";
            dataRow["Name"] = "test1";
            dataTable.Rows.Add(dataRow);
 
            DataRow dataRow1 = dataTable.NewRow();
            dataRow1["ID"] = "2";
            dataRow1["Name"] = "test2";
            dataTable.Rows.Add(dataRow1);
 
            DataRow dataRow2 = dataTable.NewRow();
            dataRow2["ID"] = "3";
            dataRow2["Name"] = "test3";
            dataTable.Rows.Add(dataRow2);
 
            // ComboBox数据绑定
            this.comboBox1.DataSource = dataTable;
            comboBox1.DisplayMember = "Name";
            comboBox1.ValueMember = "ID";

 

posted @ 2023-05-04 17:20  qingjiawen  阅读(953)  评论(0编辑  收藏  举报