C# winform 如何在多个panel上画同样的图
如题,有多个panel,有两种图像,需要判断画哪一种,判断是每个panel独立的,但是图像就是两个里面的一个,初步想法是把图像和判断方法放在一个类里,创建新对象然后画在p...
如题,有多个panel,有两种图像,需要判断画哪一种,判断是每个panel独立的,但是图像就是两个里面的一个,初步想法是把图像和判断方法放在一个类里,创建新对象然后画在panel上,但不知道需不需要继承哪个类,继承哪个好?或者别的思路?
谢谢 展开
谢谢 展开
1个回答
展开全部
你描述的问题不是太清楚,我大概理解下你的想法:
1有两个图像资源。
2有两个或者多个panel ,需要画出这个图像。
3要求这几个panel画出同一个图像。
如果如我锁描述的想法。那么解决办法如下。
你这个操作涉及的问题是数据共享问题。
因此需要你有一个可供几个panel共享访问的内存地址。也就是C#里的变量。
解决办法。 在某个panel类里 写入一个 静态变量(静态变量不可被实例化的特点保证了他在多个panel实例化后也不会改变为不同的值)。或者在其他地方可操作的类都行中加入这个变量 。例:
class DrawPanel
{
Public static string ImgPath="";
}
在你获得需要画图的图片地址后,将这个变量赋值 DrawPanel.ImgPath="你的预画图资源";
然后在你需要画图的panel Draw方法里 调用
Draw(DrawPanel.ImgPath); //这个只是思路演示,不是真实方法需要你实现。
即可实现画同一张图。
1有两个图像资源。
2有两个或者多个panel ,需要画出这个图像。
3要求这几个panel画出同一个图像。
如果如我锁描述的想法。那么解决办法如下。
你这个操作涉及的问题是数据共享问题。
因此需要你有一个可供几个panel共享访问的内存地址。也就是C#里的变量。
解决办法。 在某个panel类里 写入一个 静态变量(静态变量不可被实例化的特点保证了他在多个panel实例化后也不会改变为不同的值)。或者在其他地方可操作的类都行中加入这个变量 。例:
class DrawPanel
{
Public static string ImgPath="";
}
在你获得需要画图的图片地址后,将这个变量赋值 DrawPanel.ImgPath="你的预画图资源";
然后在你需要画图的panel Draw方法里 调用
Draw(DrawPanel.ImgPath); //这个只是思路演示,不是真实方法需要你实现。
即可实现画同一张图。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询