您好!我现在想C#实现多个窗体背景图片同时更换该怎么写代码?

问题描述

您好!我现在想C#实现多个窗体背景图片同时更换该怎么写代码?

public void pifu()
{
string tupian = comboBox1.Text;
if (tupian == "1")
{
this.BackgroundImage = Image.FromFile(@"11.jpg");
return;
}
if (tupian == "2")
{
this.BackgroundImage = Image.FromFile(@"12.jpg");
return;
}
if (tupian == "3")
{
this.BackgroundImage = Image.FromFile(@"13.jpg");
return;
}
if (tupian == "4")
{
this.BackgroundImage = Image.FromFile(@"14.jpg");
return;
}
if (tupian == "5")
{
this.BackgroundImage = Image.FromFile(@"15.jpg");
return;
}
}

            这是我现在的代码,但是只能改一个窗体,改怎么建公共静态类?使我所有的窗体背景图片都能改?

解决方案

每个窗体都订阅一个公共事件,当你更换背景时,触发这个事件就行了
或者用观察者模式,你可以维护一个窗体列表,窗体都实现一个更换背景的接口,你去主动调用

解决方案二:

改为继承,建一个祖先窗体,所有的窗体都从这个继承,这样的话,你把祖先修改一下,所有的窗体都跟着变化了

解决方案三:

比较赞同 bdmh 的想法

解决方案四:

事件驱动,或者消息驱动都行。

解决方案五:

在一个事件中把所有窗体的背景更改、要改成什么样,全写进去
然后把这个事件加入到你要触发的控件上,或者自己写一个触发条件

解决方案六:

比较赞同 bdmh 的想法

解决方案七:

定义一个变量保存当前背景图片,所有窗体绘制背景时都取这张图片;
定义一个通知所有窗口重绘的方法

时间: 2025-01-26 22:56:33

您好!我现在想C#实现多个窗体背景图片同时更换该怎么写代码?的相关文章

您好!我想问用我做了个猜数字游戏, 界面控制数字范围怎么弄

问题描述 您好!我想问用我做了个猜数字游戏, 界面控制数字范围怎么弄 您好!我想问用我做了个猜数字游戏, 界面控制数字范围怎么弄,就是编出两个输入框,数字范围我随时可以改,然后我在那个范围内猜数,能帮帮我不!非常感谢! 解决方案 a,b是你输入的值math.random()*math.abs(b-a)+(a>b?b:a) 解决方案二: 不知道你要表达什么意思,是要猜一个数还是要猜这个数在不在范围内. 解决方案三: 用java做 要猜出在一个范围内系统随机定的数,但范围是在界面里的输入框由我自己输

我想通过jquery实现点击导航图片后,切换到点击后的图片。

问题描述 我想通过jquery实现点击导航图片后,切换到点击后的图片. 我想通过jquery实现点击导航图片后,切换到点击后的图片,请问 哪位大神帮帮忙,能给一个 给我吗? 54033997 我QQ 解决方案 jQuery实现图片切换JQUERY实现图片切换jquery实现图片切换 解决方案二: 你这个属于轮播器,原理很简单,慢慢调试吧 解决方案三: js图片特效

c#-这两段代码,只能运行其中一段,想用if语句来判断,但不知道条件表达式该怎么写

问题描述 这两段代码,只能运行其中一段,想用if语句来判断,但不知道条件表达式该怎么写 foreach (Uers item in userGroup) //第一段 { Console.WriteLine("请输入账号"); string idC1 = Console.ReadLine(); Console.WriteLine("请输入密码"); string pwd1 = Console.ReadLine(); if (idC1.Equals(item.idC)

android开发-想用socket从服务端发送图片到客户端,但一直出错,求原因

问题描述 想用socket从服务端发送图片到客户端,但一直出错,求原因 开发-想用socket从服务端发送图片到客户端,但一直出错,求原因-socket客户端和服务端"> 如图所示,本人新人,求大神解答 解决方案 空指针从无,TestActivity的64行 解决方案二: 空指针 socket 不能执行关闭操作(其实是不能操作任何操作) 最好在操作前增加判断:if(null != socket) {} 在 {} 中做处理. 解决方案三: 应该是创建socket失败了. socket不能放在

想把数组实现的日期打印出来,不知道该怎么写,求大神指导,不要笑话~~

问题描述 想把数组实现的日期打印出来,不知道该怎么写,求大神指导,不要笑话~~ public class Test{ public static void main(String [] args) { int i; Date[] days; days = new Date[3]; for (i=0; i<3; i++) { days[i] = new Date(2015 9 i+2); }} } class Date { int year month day; public Date(int y

想要少写代码,就多花点时间思考

我曾经在我的微博上说过这样一段话 ,而我想在这里把我的这个观点描述地更加完整一些. @左耳朵耗子 :聪明的程序员会使用50%-70%的时间用来思考,用来尝试和权衡各种设计和实现,然后她们用30% – 50%的时间是在忙碌着编码,调试还有测试.而聪明的老板也会鼓励团队这样做.但是傻逼的老板,苦逼的程序员却会拿出来100%-150%的时间来忙着赶进度,返工,重构,还有fix 大量的bug--所以, 越差的团队只会越忙,甚至还忙不完他们的工作. 而在现在这个浮躁的时期,再加上敏捷咨询师们这群人念的歪经

jsp 网站开发-想要做一个网站上的图片下载的链接,有一行代码看不懂,求指导

问题描述 想要做一个网站上的图片下载的链接,有一行代码看不懂,求指导 d3.select(this).attr("href", "data:image/svg+xml;charset=utf-8;base64," + btoa(unescape(encodeURIComponent( svg.attr("version", "1.1") .attr("xmlns", "http://www.w3.

你想知道天天写代码的那群人的密码是什么样的吗?

简评:密码这个东西,往往有明显的职业特点,显然么除了程序员一般很少有人会用二进制或者ASCII码做密码吧,而且程序员还有各种解析密码的方式,甚至对于他们而言密码可以是命令行指令或者是把中国古代的诗句变成你根本看不懂的代码,想知道天天写代码的那群人的密码究竟是什么样的呢,那就来看看吧. 程序员的密码设置情况 1.大约45%的密码全部是数字,只有12%的用户使用全部不是数字的密码,看来大家对数字的青睐程度要高得多. 2.大约5%的用户登录名与密码完全相同,无语了,懒人可不算少. 3.密码字符中重复1

求问戴尔灵越m421r拆卸教程,想清理下风扇,最好有图片~

问题描述 求问戴尔灵越m421r拆卸教程,想清理下风扇,最好有图片~ 求问戴尔灵越m421r拆卸教程,想清理下风扇,最好有图片~邮箱yi456400@163.com