如何在 MS Windows 上加载 GTK Sharp 主题

2024-02-29

我正在 MS Windows 上使用 Xamarin Studio 5.4 编写 GTK Sharp (v2.12) 应用程序。安装的Mono版本是3.2.3(但我使用.Net工具链进行编译,因为Xamarin不允许我使用Mono工具链进行编译)。

情况是,当我从 Xamarin Studio 或使用 Mono 运行应用程序时,我有一个相对不错的外观和感觉,但是当我使用 .Net 运行应用程序(双击可执行文件)时,外观和感觉是可怕。

我试图欺骗应用程序加载一个像样的主题...但是当我从 .Net 执行此操作时它什么也没做(但是当我使用 Mono 时很容易看到更改)。

这是我尝试过的代码,但不起作用(我有 GTK 主题 rc 文件的本地副本):

// It works on Mono, but not on .Net
Gtk.Rc.Parse("Resources/GTK/windows-theme.gtkrc");

我也尝试过这样做:

// This does not work at all (on MS Windows)
Gtk.Settings.Default.ThemeName = "MS-Windows";

但这并没有改变任何东西,即使使用 Mono 引擎也是如此。

这是使用 Mono 的应用程序的外观:

以及它在 .Net 引擎下运行的样子:

感谢您的关注 :) 。


好吧,我找到了问题的答案:D。

我没有尝试加载特定的GTK主题,而是解决了它以使.Net正常工作,而无需复制程序目录中的所有DLL文件。

我在 Xamarin 开发论坛中找到了这个帖子:

  • http://forums.xamarin.com/discussion/15568/unable-to-load-dll-libgtk-win32-2-0-0-dll http://forums.xamarin.com/discussion/15568/unable-to-load-dll-libgtk-win32-2-0-0-dll

在此线程中,Xamarin 开发人员解释了他们如何解决依赖项加载问题。关键是调用检查WindowsGTK之前的方法应用程序.Init()称呼。 CheckWindowsGTK 是在 Monodevelop 源文件中定义的:

  • https://github.com/mono/monodevelop/blob/master/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs#L490-L490 https://github.com/mono/monodevelop/blob/master/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs#L490-L490

HINT:仅当程序在 Windows 上运行时才调用 CheckWindowsGTK 很重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 MS Windows 上加载 GTK Sharp 主题 的相关文章

  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 如何有效截断文件头?

    大家都知道truncate file size 函数 通过截断文件尾部将文件大小更改为给定大小 但是如何做同样的事情 只截断文件的尾部和头部呢 通常 您必须重写整个文件 最简单的方法是跳过前几个字节 将其他所有内容复制到临时文件中 并在完成
  • Node.js 升级在 Windows 中仍然显示旧版本

    我已使用 msi 安装程序下载并安装了新版本的 nodejs 4 1 2 之后我跑了node v 但它仍然显示旧版本 0 12 2 我尝试重新启动Windows 甚至卸载nodejs并重新安装它 但仍然显示相同的内容 为什么会发生这种情况
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • 在.rdlc报告的底部设置一个文本框

    我在 rdlc 报告中使用 tablix 有一个文本框 其中包含文本 签名 我想将此文本框放置在报告最后一页的底部 就在页脚之前 我已经用谷歌搜索了这个解决方案 但没有找到满意的结果 我的环境是VS2010 framework 4 0 有什
  • Python3 在 DirectX 游戏中移动鼠标

    我正在尝试构建一个在 DirectX 游戏中执行一些操作的脚本 除了移动鼠标之外 我一切都正常 是否有任何可用的模块可以移动鼠标 适用于 Windows python 3 Thanks I used pynput https pypi or
  • 如何在 pygtk 中创建新信号

    我创建了一个 python 对象 但我想在它上面发送信号 我让它继承自 gobject GObject 但似乎没有任何方法可以在我的对象上创建新信号 您还可以在类定义中定义信号 class MyGObjectClass gobject GO
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • 有没有办法禁用 .NET 标签的“双击复制”功能?

    这真的很烦人 我使用标签作为列表项用户控件的一部分 用户可以单击它来选择列表项 然后双击它来重命名它 但是 如果剪贴板中有名称 双击标签会将其替换为标签文本 我还检查了应用程序中的其他标签 双击它们也会将其复制到剪贴板 我没有在这个程序中编
  • 运算符“">”不能应用于类型“ulong”和“int”

    我很好奇为什么 C 编译器只为第二个 if 语句提供错误消息 enum Permissions ulong ViewListItems 1L public void Method int mask 138612833 int compare
  • Type.GetInterface 和嵌套类型

    我刚刚发现 Type GetInterface 和嵌套类型有一个非常奇怪的行为 以下示例代码将显示问题 我使用接口的 Type FullName 来检查给定类型是否派生自该接口 public interface IStandardInter
  • 如何为 Windows 构建静态 Qt 库并将其与 Qt Creator 一起使用

    我已经下载了以下 Qt 源 http download qt nokia com qt source qt everywhere opensource src 4 7 3 zip http download qt nokia com qt
  • 有没有办法将消息从 C#.NET 程序集(ActiveX)发送到 VB6 应用程序?

    本问答参考并可用于以下用途 目的 通过ActiveX dll从IE浏览器发送消息到vb6应用程序 从 ActiveX dll 向 vb6 应用程序发送消息 从 C net dll 发送消息到 vb6 应用程序 我读过了本文 http www
  • 为什么同时存在 System.Net.Http 和 System.Web.Http 命名空间?

    这只是一个简单的问题 因为我正在研究 NET 中可用的各种类库 我注意到有一个System Net Http命名空间和一个System Web Http命名空间 这两个命名空间都有什么用途 创建两个看似不明确的命名空间的动机是什么 是否有任
  • 即使进程确实存在,为什么 Process.WaitForExit 也会抛出“无进程”异常?

    我有一个包含以下代码的 Windows 服务 public static void ExtractTextInner string source string destination ProcessStartInfo startInfo n
  • CLR 2.0 与 4.0 性能比较?

    如果在 CLR 4 0 下运行 为 CLR 2 0 编译的 NET 程序会运行得更快吗 应用程序配置
  • jqgrid。改变主题

    如何在不更改样式表的情况下更改 jqgrid 的外观 基本上我使用 jqueryui 来设计我的网站 但我想为网格使用不同的背景图像 这可能吗 您是否想要将多个 jQueryUI 主题应用到同一页面 并让 jqgrid 使用其中一个主题 同
  • Ubuntu 12.10 libgtk-3-0 缺少符号

    我正在运行 Ubuntu 12 10 不知何故我的 libgtk 3 0 搞砸了 当尝试运行许多不同的应用程序时 我收到如下错误 gedit symbol lookup error usr lib libgtk 3 so 0 undefin
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange

随机推荐

  • jquery 1.5 模拟 ajax

    在 jquery 1 5 中 模拟 ajax 请求的推荐方法是什么 是使用ajax扩展传输吗 http api jquery com extending ajax Transports http api jquery com extendi
  • 允许在数据库项目中删除(一次)列

    我想在现有表中删除一列 当我简单地从表的创建脚本中删除它时 它将在部署时导致错误 数据丢失 我想允许 在这种情况下 列删除 你会怎么做 要禁用数据丢失错误 单击架构比较文件中的选项图标 取消选中 阻止可能的数据丢失 该设置将仅针对 1 次架
  • 如何使用 ControlsFX 实现自动完成文本字段

    我正在使用 ControlsFX 的最新版本 8 0 5 我想我需要一些关于自动完成文本字段的帮助 因为我对此很陌生 我从这里得到了这个代码here https bitbucket org controlsfx controlsfx pul
  • Android Tabhost 问题 - .setIndicator

    首先让我澄清一下 我已经提到了与 Android TAbhost 相关的问题 我已经用谷歌搜索了 Android Tabhost 但未能找到解决方案 我的问题是 如果有 有什么方法可以将标题文本 即指示器 放入选项卡中 我认为问题的根源在于
  • 允许访问 C++ 中的容器对象

    我有一个像下面这样的课程 class Foo private std map
  • Play Framework 2.2.1 - 不区分大小写的路由

    我是 Play 新手 目前正在使用 Play 2 2 1 我正在尝试为 路由 中定义的端点实现不区分大小写的路由 例如我在路线文件中定义了一条路线 例如 accessLicense 如下所示 GET accessLicense contro
  • Django-firebird 无法工作

    我下载了该文件夹并将其放入C Python27 Lib site packages django contrib gis db backends firebird 但是当我使用它时 给我一个 error django core except
  • 如何在Python中删除两个numpy数组的重复元素

    我有两个数组命名 u v 例如 u np array 1 0 2 0 2 0 3 0 4 0 v np array 10 0 21 0 18 0 30 0 40 0 a np array 100 0 210 0 220 0 300 0 40
  • 单元测试 mocha Visual Studio Code 描述未定义

    如果我在控制台中运行 测试运行良好 mocha require ts node register tests spec ts 注意 我安装了 mocha 和 mocha g 我想从 Visual Studio Code 运行单元测试 启动
  • 如何拆分 CSV 行,使 row[0] 为名称,其余项目为元组?

    我有一个 csv 文件 其中第一列是棒球运动员的姓名 文件中的每个后续项目都是统计数据 我希望能够导入该文件 以便玩家名称等于统计数据的元组 现在 当我使用以下代码导入文件时 Orioles file Orioles csv rU for
  • Android,使可滚动视图溢出到左侧而不是右侧?

    建议我使用父视图在 TextView 中进行水平滚动
  • 如何使用 ngFor 和 bootstrap 4 创建新的一行卡片

    我正在尝试将 Bootstrap 4 的卡组功能与 Angular 一起使用ngFor 这是我现在的 HTML 但我找不到如何在插入 3 个项目后换行 div class row card group div class col 4 car
  • 附加进程时提升删除 Managed_shared_memory

    我有 2 个进程 进程 1 创建一个 boost Managed shared memory 段 进程 2 打开该段 然后进程 1 重新启动 进程 1 的启动如下 struct vshm remove vshm remove boost i
  • Zend Framework 2 - 分页

    如何获取控制器操作中的页面详细信息 我使用了专辑的分页 iteratorAdapter new Zend Paginator Adapter Iterator this gt getAlbumTable gt fetchAll pagina
  • 如何清理(防止SQL注入)SQL Server中的动态SQL?

    我们有大量依赖动态 SQL 的 SQL Server 存储过程 存储过程的参数在动态 SQL 语句中使用 我们需要在这些存储过程中使用标准验证函数来验证这些参数并防止 SQL 注入 假设我们有这些约束 我们无法重写过程以不使用动态 SQL
  • 不同语言如何在其标准库中实现排序? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用similar_text()改进PHP字符串匹配?

    我正在使用 PHP 的imilar text 调用来比较两个字符串 但是 我没有得到足够好的结果 例如 对于我希望看到 100 的匹配 我得到的最好结果是 80 95 我还可以使用哪些其他函数来深入了解字符串的核心
  • GCC对读/写指令的重新排序

    Linux 的同步原语 自旋锁 互斥锁 RCU 使用内存屏障指令来强制内存访问指令重新排序 这种重新排序可以由 CPU 本身完成 也可以由编译器完成 有人可以展示一些 GCC 生成的代码示例 其中完成了此类重新排序吗 我主要对 x86 感兴
  • 如何为 Seaborn 混淆矩阵添加正确的标签

    我已经使用将数据绘制成混淆矩阵seaborn但我遇到了一个问题 问题是它只在两个轴上显示从 0 到 11 的数字 因为我有 12 个不同的标签 我的代码如下所示 cf matrix confusion matrix y test y pre
  • 如何在 MS Windows 上加载 GTK Sharp 主题

    我正在 MS Windows 上使用 Xamarin Studio 5 4 编写 GTK Sharp v2 12 应用程序 安装的Mono版本是3 2 3 但我使用 Net工具链进行编译 因为Xamarin不允许我使用Mono工具链进行编译