Tag: 资源

在C#中使用UpdateResource?

我正在尝试以编程方式更改外部可执行文件的图标。 我用谷歌搜索,并使用C ++找到有关此问题的大量信息。 基本上,我需要使用BeginUpdateResource,UpdateResource和EndUpdateResource。 问题是 – 我不知道在C#中传递给UpdateResource的内容。 这是我到目前为止的代码: class IconChanger { [DllImport(“kernel32.dll”, SetLastError = true)] static extern IntPtr BeginUpdateResource(string pFileName, [MarshalAs(UnmanagedType.Bool)]bool bDeleteExistingResources); [DllImport(“kernel32.dll”, SetLastError = true)] static extern bool UpdateResource(IntPtr hUpdate, string lpType, string lpName, ushort wLanguage, IntPtr lpData, uint cbData); [DllImport(“kernel32.dll”, SetLastError = true)] static extern bool EndUpdateResource(IntPtr hUpdate, bool fDiscard); public enum ICResult […]

直接在VB.net/C#中使用资源字体

如何直接使用资源字体而不在VB.net/C#中为独立应用程序[桌面应用程序]保存本地文件系统中的字体?

WPF:通过DataTrigger设置ListView视图

我有一个列表视图和2个资源,用于显示列表的视图:BooksGridView和ImageDetailView。 ViewModel有一个名为ViewMode的字符串属性,它包含我当前想要显示的视图的名称。 (它使用工具栏从另一个控件更改) 我试图通过使用DataTrigger更改所选视图,但我似乎无法更改View属性。 当我直接设置View资源时,会显示正确的视图。 我还添加了背景更改以确保数据触发器已激活,并且后台确实发生了变化。 所以我显然在这里遗漏了一些东西…… … … 谢谢

从DLL文件中读取资源

我有两个Visual Basic 2008项目 – 一个是类库项目,另一个是Windows Forms项目。 在类库项目中,我在项目资源中定义了一些字符串(项目属性>“资源”选项卡)。 我构建该类库项目并从调试文件夹中获取DLL文件,并在我的Windows窗体项目中添加为参考。 如何从引用的DLL文件中读取这些字符串?

如何在C#中的Dispose()方法中配置托管资源?

我知道Dispose()是针对非托管资源的,当不再需要资源时,应该在不等待垃圾收集器完成对象的情况下处理资源。 但是,在处理对象时,它会抑制垃圾收集器的完成(GC.SuppressFinalize(this);在下面的代码中)。 这意味着如果对象包含托管资源,我们也必须处理它,因为垃圾收集器不会清理它。 在下面的示例代码中(来自MSDN),“Component”是一个托管资源,我们为此资源调用dispose()(component.Dispose())。 我的问题是,我们如何为作为托管资源的Component类实现此方法? 我们应该使用像Collect()这样的东西来捅垃圾收集器来清理这部分吗? 任何想法将不胜感激。 谢谢。 以下是我正在查看的代码来自MSDN: using System; using System.ComponentModel; // The following example demonstrates how to create // a resource class that implements the IDisposable interface // and the IDisposable.Dispose method. public class DisposeExample { // A base class that implements IDisposable. // By implementing IDisposable, you are announcing that // […]

避免在.NET(C#)项目中重复的图标资源

我正在使用Visual C#2008 Express。 我想为应用程序使用相同的图标(即.exe显示的图标),以及主窗体。 不幸的是,VC#似乎并不是很聪明,并且坚持要复制图标数据。 似乎没有办法选择“已嵌入”的图标用于表单或项目图标(仅选择文件),并且对两个图标使用相同的文件只是将文件嵌入两次尽可能远看到。 这不是什么大不了的事(现在硬盘空间很便宜,对吧?),但这让我很烦恼。 知道怎么避免这个吗? 有没有办法以编程方式加载可执行文件的图标,以便在构建表单时使用,比如说? 一些关于类似事情的论坛post似乎暗示.NET资源不使用普通的旧Windows资源系统 – 在获取旧式资源的框架内有没有办法? 或者我是否必须绑定Win32 API函数才能执行此操作?

如何执行作为资源嵌入的可执行文件

是否可以执行作为资源包含在项目中的exe文件? 我可以将文件作为字节数组获取并在内存中执行吗? 我不想将文件写入临时位置并在那里执行。 我正在寻找一种可以在内存中执行它的解决方案。 (这不是.NET程序集。)

从代码设置应用程序资源

我有一个作为WPF应用程序的ac #project但我现在想把它构建为一个dll。 我以前通过从项目中删除app.xaml并将其构建类型设置为dll来完成此操作。 我现在的问题是app.xaml包含一些xaml来实例化应用程序变量。 为了解决这个问题,我试图以编程方式在将要调用的第一个xaml窗口中设置这些应用程序变量。 我试图在代码中模拟的xaml是: 这是我的代码: ResourceDictionary myResourceDictionary = new ResourceDictionary(); myResourceDictionary.Source = new Uri(“C:\\Resources\\Styles\\Shared.xaml”); Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary); myResourceDictionary.Source = new Uri(“C:\\Resources\\Styles\\ToolBar.xaml”); Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary); myResourceDictionary.Source = new Uri(“C:\\Resources\\Styles\\GroupBox.xaml”); Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary); myResourceDictionary.Source = new Uri(“C:\\Resources\\Styles\\ZoomBox.xaml”); Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary); myResourceDictionary.Source = new Uri(“C:\\Resources\\Styles\\ScrollBar.xaml”); Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary); myResourceDictionary.Source = new Uri(“C:\\Resources\\Styles\\Expander.xaml”); Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary); myResourceDictionary.Source = new Uri(“C:\\Resources\\ApplicationToolbar.xaml”); Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary); myResourceDictionary.Source = new Uri(“C:\\Resources\\DesignerItem.xaml”); Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary); myResourceDictionary.Source = new […]

将PictureBox的图像从我的资源更改为图像?

如何从我的资源中将PictureBox图像设置为图像? (我尝试了这个没有成功: pictuerbox.Image = “img_location”; )

从资源文件中读取字符串并以编程方式编辑它

我怎样才能读取字符串资源文件? 我已经尝试过这个但是我无法获得价值。 为了以后编辑它我什么也做不了。 如何在programmaticaly后编辑它? 我想用一个从文本框中获取的字符串来编辑它的值。 Assembly assembly = this.GetType().Assembly; manager = new ResourceManager(“StringResources.Strings”, assembly); value = manager.GetString(“Name”); 为了改变它的值,我尝试这样做,但它给了我一个错误,不包含Current的定义。 我在windows窗体中尝试这些。 Application.Current.Resources[“Name”] = “abcd”; 请提前给我一个建议