/ project created on 19.06.2008 at 15:04
using System;
using Gtk;
namespace gtkSharp
{
class MainClass
{
public static void Main()
{
Application.Init();
Window window = new Window( "Окошко" );
window.DeleteEvent += new DeleteEventHandler( WinClose );
VBox vbox = new VBox();
Button btn = new Button( "Жми" );
btn.ButtonPressEvent += new ButtonPressEventHandler( BtnPress );
Widget label = new Label( "Читай" );
vbox.Add( btn );
vbox.Add( label );
window.Add( vbox );
window.Resize( 300, 200 );
window.ShowAll();
Application.Run();
}
згидшс static void BtnPress( object sender, ButtonPressEventArgs args )
{
((Label)label).Text = "Привет, Мир!!!";
}
public static void WinClose( object sender, DeleteEventArgs args )
{
Application.Quit();
}
public Label label;
}
}
Всё ещё пытаюсь заставить это работать. Выдаёт ошибку:
An object reference is required for the nonstatic field, method or property(CS0120: `gtkSharp.MainClass.label')
Но, если сделать метод нестатическим, то выдаётся другая ошибка:
Method Name expected
Пожалуйста, подскажите что здесь делать те, кто сталкивался.
Exception in Gtk# callback delegate
Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.NullReferenceException: Object reference not set to an instance of an object
at gtkProject.MainWindow.ButtonKeyPress (System.Object sender, Gtk.KeyPressEventArgs args) [0x0000b] in /home/vts/mySources/gtkProject/gtkProject/Main.cs:31
at Gtk.Widget.KeyPressEventSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch) [0x00000]
at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)
at Gtk.Widget.KeyPressEventSignalCallback(IntPtr arg0, IntPtr arg1, IntPtr gch)
at Gtk.Widget.KeyPressEventSignalCallback(IntPtr , IntPtr , IntPtr )
at Gtk.Application.gtk_main()
at Gtk.Application.gtk_main()
at Gtk.Application.Run()
at gtkProject.MainClass.Main(System.String[] args) in /home/vts/mySources/gtkProject/gtkProject/Main.cs:line 56
Проблема оказалась в версии MonoDevelop. В версии 1.0 её нет. Код работает хорошо и стабильно.
Примечание: событие "щелчок мышью" описывается: button.clicked += new EventHandler( имя_метода );