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();
}
private Thread t;
private void button1_Click( object sender, EventArgs e)
{
if (t != null )
{
t.Abort();
}
t = new Thread(Run);
t.Start();
}
private delegate void deleChange(String text);
private void ChangeLable(String text)
{
label1.Text = text;
}
private delegate void deleHide( bool isHide);
private void Hide( bool isHide)
{
label2.Visible = ! isHide;
}
private void Run()
{
deleChange dcl = new deleChange(ChangeLable);
deleHide dh = new deleHide(Hide);
int count = 100 ;
while (count > 0 )
{
if (count % 4 == 0 )
{
label1.Invoke(dcl, " Start... " );
}
else if (count % 4 == 1 )
{
label1.Invoke(dcl, " Start.. " );
}
else if (count % 4 == 2 )
{
label1.Invoke(dcl, " Start. " );
}
else
{
label1.Invoke(dcl, " Start " );
}
if (count % 2 == 0 )
{
label2.Invoke(dh, true );
}
else
{
label2.Invoke(dh, false );
}
Thread.Sleep( 200 );
count -- ;
}
}
private void Form1_FormClosing( object sender, FormClosingEventArgs e)
{
if (t != null && t.IsAlive)
{
if (MessageBox.Show( " yes or no? " , " exit " , MessageBoxButtons.YesNo) == DialogResult.Yes)
{
t.Abort();
}
else
{
e.Cancel = true ;
}
}
}
}
}
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();
}
private Thread t;
private void button1_Click( object sender, EventArgs e)
{
if (t != null )
{
t.Abort();
}
t = new Thread(Run);
t.Start();
}
private delegate void deleChange(String text);
private void ChangeLable(String text)
{
label1.Text = text;
}
private delegate void deleHide( bool isHide);
private void Hide( bool isHide)
{
label2.Visible = ! isHide;
}
private void Run()
{
deleChange dcl = new deleChange(ChangeLable);
deleHide dh = new deleHide(Hide);
int count = 100 ;
while (count > 0 )
{
if (count % 4 == 0 )
{
label1.Invoke(dcl, " Start... " );
}
else if (count % 4 == 1 )
{
label1.Invoke(dcl, " Start.. " );
}
else if (count % 4 == 2 )
{
label1.Invoke(dcl, " Start. " );
}
else
{
label1.Invoke(dcl, " Start " );
}
if (count % 2 == 0 )
{
label2.Invoke(dh, true );
}
else
{
label2.Invoke(dh, false );
}
Thread.Sleep( 200 );
count -- ;
}
}
private void Form1_FormClosing( object sender, FormClosingEventArgs e)
{
if (t != null && t.IsAlive)
{
if (MessageBox.Show( " yes or no? " , " exit " , MessageBoxButtons.YesNo) == DialogResult.Yes)
{
t.Abort();
}
else
{
e.Cancel = true ;
}
}
}
}
}