注册 登录
编程论坛 C# 论坛

用命令行编译的EXE怎么换成自己的图标

小白到底白不 发布于 2024-04-08 11:06, 441 次点击
昨天学习了搞一搞Form1.Designer.cs,今天研究了一下在里面搞窗口的图标,先说一下学到的东西,然后再发问题。
private Icon myIcon;
private void InitializeComponent(){

在private void InitializeComponent()这句的上面加一行,private Icon myIcon;
但是要复制一点Form1.cs里那些using的东西,
然后在InitializeComponent里加上下面的代码
//myIcon = new Icon("myIcon.ico");
//this.Icon = myIcon;
this.Icon = new Icon("myIcon.ico");

当然,对应的图标文件也要复制到相应的文件夹里,现在就是在运行时,窗口的图标就可以根据情况改了。
https://bbs.bccn.net/viewthread.php?tid=2669&highlight=%CD%BC%B1%EA
这个是从上面链接得到的启发。

然后就是问题了,编译出来的文件还是默认的图标,这个我知道是在解决方案资源管理器里面搞,但我就是想知道怎么用代码搞。

也就是说,vs为我们做的事,他是怎么做到的,我们用代码是不是也能做到。

请知道的指点指点,先谢过了!
2 回复
#2
qq28895779662024-04-08 15:51
http://bbs.
动态编译设置图标里面都有

            CodeDomProvider codeProvider = CodeDomProvider.CreateProvider("CSharp");
            string Output = "~Setup.exe";
            CompilerParameters parameters = new();

            parameters.ReferencedAssemblies.Add(@"System.dll");
            parameters.ReferencedAssemblies.Add(@"Microsoft.CSharp.dll");
            parameters.ReferencedAssemblies.Add(@"WPF\System.Windows.Presentation.dll");
            parameters.ReferencedAssemblies.Add(@"WPF\PresentationCore.dll");
            parameters.ReferencedAssemblies.Add(@"WPF\PresentationFramework.dll");
            parameters.ReferencedAssemblies.Add(@"WPF\WindowsBase.dll");
            parameters.EmbeddedResources.Add("~Setup_Res.resources"); // 资源文件
            parameters.GenerateExecutable = true;
             = " -t:winexe";
            parameters.OutputAssembly = Output;
            // 这里
             += @" -win32icon:" + ico图像文件;


[此贴子已经被作者于2024-11-14 16:41编辑过]

#3
小白到底白不2024-04-09 07:05
也就是说,vs为我们做的事,他是怎么做到的,我们用代码是不是也能做到。


这个才是重点
1