我在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”的作用吗?
答案 0 :(得分:0)
这
格式(单位中的位数) - 将其设置为8并将数据编码为UTF-8