我是 GTK# 的新手(以及桌面开发),我无法弄清楚这似乎是一项简单的任务。:(
我无法让一个简单的日期选择器工作。我有一个带有单个文本框条目和一个按钮的主窗口。单击按钮时,它会打开一个带有日历小部件的新窗口,当用户双击一个日期时,它应该将选定的日期返回到主窗口上的文本框条目。
这是我的代码,我错过了什么?
主窗口.cs
using System;
using Gtk;
public partial class MainWindow: Gtk.Window
{
public MainWindow (): base (Gtk.WindowType.Toplevel)
{
Build ();
}
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
}
private DateTest1.CalendarTest datePicker;
protected void OnButton1Clicked (object sender, EventArgs e)
{
datePicker = new DateTest1.CalendarTest();
datePicker.DestroyEvent += new DestroyEventHandler(datePickerDestroyed);
datePicker.ShowAll();
}
public void datePickerDestroyed(object sender, EventArgs e)
{
entry1.Text = datePicker.DatePicked.ToString();
}
}
日历测试.cs
using System;
namespace DateTest1
{
public partial class CalendarTest : Gtk.Window
{
public DateTime DatePicked;
public CalendarTest () :
base(Gtk.WindowType.Toplevel)
{
this.Build ();
}
protected void OnCalendar1DaySelectedDoubleClick (object sender, EventArgs e)
{
var datePicker = (Gtk.Calendar)sender;
DatePicked = datePicker.Date;
this.Destroy();
}
}
}