我有一个 System.Windows.Forms.Form 并想在运行时更改 Form.Icon 以显示状态。我已经设法从项目资源中加载图标:
Type type = this.GetType();
System.Resources.ResourceManager resources =
new System.Resources.ResourceManager(type.Namespace + ".Properties.Resources", this.GetType().Assembly);
this.Icon = (System.Drawing.Icon)resources.GetObject(
type.Namespace + ".Icons." + statusText + ".ico");
但显示的图标始终保持不变(设计时图标)。我是否必须调用一种方法来告诉表单应用更改?我对 Form.Icon 的使用有问题吗?
最佳答案
我不清楚你为什么要这样做。只需将图标添加到您的资源中即可。项目 + 属性,资源选项卡,添加资源按钮上的箭头,添加现有文件。然后你会在运行时像这样使用它:
private void button1_Click(object sender, EventArgs e) {
this.Icon = Properties.Resources.Mumble;
}
Mumble 是图标的名称。
如果您 100% 确定 GetObject() 不会返回 null,请尝试在设计器中设置 Icon 属性。如果它仍然没有出现,那么图标格式有问题。确保它没有太多颜色,256 色适用于 XP。
关于c# - 在运行时将更改应用到主窗体 Form.Icon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3899364/