我正在gtk#下玩拖放游戏。
打电话的时候
protected virtual void OnDragDataGet (object o, Gtk.DragDataGetArgs args)
{
byte[] data = GetSomeData();
args.SelectionData.Set(args.Context.Targets[0], 0, data);
}
Gtk-CRITICAL **: _gtk_selection_request: assertion `(data.format >= 8) && (data.format % 8 == 0)' failed
但是,将格式设置为8可以正常工作:
protected virtual void OnDragDataGet (object o, Gtk.DragDataGetArgs args)
{
byte[] data = GetSomeData();
args.SelectionData.Set(args.Context.Targets[0], 8, data);
}
我发现了一些拖放的例子,都使用8作为发送数据的格式(使用0实际上是一个输入错误。)但是我没有找到这种格式的作用,或者为什么8可以工作,而0不能。
有人能解释一下“fomat”是做什么的吗?