using System;
using Gtk;
using System.Threading;
public class MyWindow : Window {
public ProgressBar p ;
public MyWindow () : base ("MyWindow")
{
SetDefaultSize (200, 10);
p = new ProgressBar();
VBox vb = new VBox();
Button b1 = new Button("Start");
Button b2 = new Button("Loop");
b1.Clicked += Start;
b2.Clicked += Loop;
vb.PackStart(b1);
vb.PackStart(b2);
vb.PackStart(p);
Add(vb);
ShowAll ();
}
public void Threadwork(){
while (true){
p.Pulse();
while (Application.EventsPending ())
Application.RunIteration ();
Thread.Sleep(100);
}
}
void Loop(object o, EventArgs a){
while (true) { //Do some job!}
}
void Start(object o, EventArgs a){
Thread th = new Thread ( new ThreadStart(Threadwork) );
th.Start();
Console.WriteLine("Hey, new thread launched!");
}
}