我一直在尝试从我在Xamarin工作室中构建的GTK(Mono)应用程序中的代码设置按钮的图像,但到目前为止我没有运气。我似乎无法获得任何适用于C#.Net的方法在Mono.Netm中工作,我不知道在哪里可以转,因为我在网上搜索了我能想到的任何东西,并且唯一的结果我得到了C#.Net。
我的问题很简单,我希望我忽略了一些事情,答案也很简单:
通过代码从嵌入式资源设置Gtk.Button图像的方法是什么?
我尝试过的事情:
*反思
* ResourceManager
* Image.FromStream(Gtk.Image中不存在)
*无论我怎么想......
我有可能在这条线上做错了但是如果是这样的话我不知道是什么,所以请帮助我,即使是在谷歌指向我正确的方向......
编辑:
出于某种原因,@ Jester的解决方案对我来说似乎不起作用,因为如果更改按钮的图像,并且在更改标签后,该按钮将仅显示标签并删除图像。但这对另一个人来说是个问题。
答案 0 :(得分:4)
不确定如何设法错过Image.LoadFromResource方法或associated constructor:)
那就是你可以做到:
btn.Image = Image.LoadFromResource("name-of-resource");
更新:使用以下示例代码可以正常使用
using Gtk;
using System;
public class ButtonApp
{
public static int Main (string[] args)
{
Application.Init ();
Window win = new Window ("Button Tester");
win.SetDefaultSize (200, 150);
win.DeleteEvent += new DeleteEventHandler (Window_Delete);
Button btn = new Button ("Click Me");
btn.Image = Image.LoadFromResource("pic");
win.Add (btn);
win.ShowAll ();
Application.Run ();
return 0;
}
static void Window_Delete (object obj, DeleteEventArgs args)
{
Application.Quit ();
args.RetVal = true;
}
}
使用:mcs -res:foo.png,pic -pkg:gtk-sharp-2.0 ButtonApp.cs