mirror of
				https://github.com/Ryujinx/GtkSharp.git
				synced 2025-11-04 13:24:48 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
//
 | 
						|
// Thread.cs - Using threads with Gtk#
 | 
						|
//
 | 
						|
// Author: Miguel de Icaza
 | 
						|
//
 | 
						|
// (c) 2005 Novell, Inc.
 | 
						|
 | 
						|
namespace GtkSamples {
 | 
						|
 | 
						|
	using Gtk;
 | 
						|
	using Gdk;
 | 
						|
	using System;
 | 
						|
	using System.Threading;
 | 
						|
 | 
						|
	public class HelloThreads  {
 | 
						|
		static Label msg;
 | 
						|
		static Button but;
 | 
						|
		static int count;
 | 
						|
		static Thread thr;
 | 
						|
		
 | 
						|
		public static int Main (string[] args)
 | 
						|
		{
 | 
						|
			Application.Init ();
 | 
						|
			Gtk.Window win = new Gtk.Window ("Gtk# Hello World");
 | 
						|
			win.DeleteEvent += new DeleteEventHandler (Window_Delete);
 | 
						|
			msg = new Label ("Click to quit");
 | 
						|
			but = new Button (msg);
 | 
						|
			but.Clicked += delegate { thr.Abort (); Application.Quit (); };
 | 
						|
			win.Add (but);
 | 
						|
			win.ShowAll ();
 | 
						|
 | 
						|
			thr = new Thread (ThreadMethod);
 | 
						|
			thr.Start ();
 | 
						|
			
 | 
						|
			Application.Run ();
 | 
						|
			
 | 
						|
			return 0;
 | 
						|
		}
 | 
						|
 | 
						|
		static void ThreadMethod ()
 | 
						|
		{
 | 
						|
			Console.WriteLine ("Starting thread");
 | 
						|
			while (true){
 | 
						|
				count++;
 | 
						|
				Thread.Sleep (500);
 | 
						|
				Application.Invoke (delegate {
 | 
						|
					msg.Text = String.Format ("Click to Quit ({0})", count);
 | 
						|
				});
 | 
						|
			}
 | 
						|
		}
 | 
						|
		
 | 
						|
		static void Window_Delete (object obj, DeleteEventArgs args)
 | 
						|
		{
 | 
						|
			Application.Quit ();
 | 
						|
			args.RetVal = true;
 | 
						|
		}
 | 
						|
 | 
						|
	}
 | 
						|
}
 |