1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//Si on dispose cette form, toute les boucles de messages de l'appli
// appelleront un ExitThread() et les Run() correspondant retourneront.
this.Disposed += delegate
{
Application.Exit();
};
}
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(
delegate()
{
Form2 f = new Form2();
Application.Run(f);
f.Dispose();
});
t.SetApartmentState(ApartmentState.STA);
t.Start();
}
}
} |