有关winform,将一个窗体最小化后再显示会重新绘画窗体吗?

问题描述

有关winform,将一个窗体最小化后再显示会重新绘画窗体吗?

小白,刚接触这方面。在用一个窗体时遇到的问题。

我在这个窗体上画了几个形状,当我把窗体最小化后,再度点开,窗体就会重新初始化重新绘制,之前画的几个形状就没有了。这是winform的特性吗?又没有什么办法让窗体最小化后之前画的图依旧存在?

解决方案

参考这个帖子:http://bbs.csdn.net/topics/80143504

解决方案二:

吧绘画函数放到 override OnPaint 函数里,这样每次窗口需要重画的时候都会调用一次这个方法。

解决方案三:

窗口每次调出都会重画,需要把绘图函数放到override OnPaint函数,每次调出都会进行重画,任何绘画都一样

解决方案四:

最小化,遮挡,或者人为发送WM_Paint,或者Invalidate等函数都会出发WM_Paint消息,一般控件都有OnPaint事件,如果要让你的内容一致显示在界面上就需要在WM_Paint消息中处理
也就是OnPaint这类事件

解决方案五:

在窗体后台代码中重写onPaint方法,绘图代码写在这个方法里

解决方案六:

会的,系统是在WM_PRINT里面重画窗口的,你用的什么做的窗口,如果是API可以在注册窗口类的WNDCLASS的设置窗口回调函数,如果不是可以用SetWindowLong设置回调函数,在WM_PRINT里BeginPrint,获取HDC(不要用GetDC了),然后画图即可,这样窗口每次重画你的图案都会画上去了,MFC有现成的onPrint,

解决方案七:

每次调出都会进行重画,任何绘画都一样

时间: 2024-11-01 03:41:22

有关winform,将一个窗体最小化后再显示会重新绘画窗体吗?的相关文章

visual studio 2010-vs2010 新建项目不出现编辑框 最小化后再打开 却出现了编辑框

问题描述 vs2010 新建项目不出现编辑框 最小化后再打开 却出现了编辑框 vs2010 新建项目不出现编辑框 最小化后再打开 却出现了编辑框,求大神帮忙解决,谢谢!! 解决方案 截个图看看你在说什么 解决方案二: 新建项目后 编辑框不能及时显示 我点"最小化"后,再 打开 编辑框就可以显示了, 这两项都已经勾选了, 谢谢帮忙. @有_道_是 解决方案三: 建立项目的编辑框?还是文件编辑框? 建立空项目,没有源文件,是不会打开文本编辑框的.

swing 窗口最小化后布局改变

问题描述 用SWING写了一个界面,整个是一个JSplitPane,分为左右两部分,左边是一棵导航树,右边又是一个JSplitPane,分为上下两部分.每次启动后点击左边导航树节点,更新右边上下的界面,最小化后再最大化就只剩下右下角的界面.请高手指点.部分代码:privatevoidrefreshUI(){rightPane.removeAll();rightPane.add(settingPanel,JSplitPane.TOP);rightPane.add(listPane,JSplitPa

添加用户自定义控件后,窗体最小化就出现错误

问题描述 问题如下:添加了一个从codeproject下载过来的dll,具体功能是将RichTextBox可以将BackColor设置为Transparent.然后从工具箱拖动到winForm界面上,调试运行没问题,最大化没问题,窗口拖动也没问题.但是窗体最小化的时候就出现以下提示:"System.ArgumentException"类型的未经处理的异常出现在System.Drawing.dll中.其他信息:参数无效.删去这个dll里面的控件后,就可以最小化了.请问是什么问题造成的??

winform-c#Winform 很大的Panel设置背景图片,最小化之后再恢复最大化,有明显的卡顿

问题描述 c#Winform 很大的Panel设置背景图片,最小化之后再恢复最大化,有明显的卡顿 Winform 程序 在主页面分3个区域,1.左侧菜单 2.上不导航栏 3. 内容部分 3块区域占满屏幕,每个panel都是在构造函数设置了 BackgroundImage和 BackgroundImageLayout = ImageLayout.Zoom; 在我的程序最小化,然后再最大化的时候,会有明显的卡顿 我有测试过,图片越多,卡的越明显,目前我就3张图,就很明显的卡.我不设置这些Panel的

界面设计-为什么最小化后Panel就超出主界面范围

问题描述 为什么最小化后Panel就超出主界面范围 Panel public class GameJPanel extends JPanel { private static final long serialVersionUID = 1L; private Image image; Random rand = new Random(); public ArrayList<Fish> fishes=new ArrayList<Fish>(); public GameJPanel()

C#实现系统托盘及窗体最小化时隐藏为任务栏图标的Window appllication

1.设置窗体属性showintask=false 2.加notifyicon控件notifyicon1,为控件notifyicon1的属性icon添加一个icon图标. 3.添加窗体最小化事件(首先需要添加事件引用): //this.sizechanged+=newsystem.eventhandler(this.form1_sizechanged); //上面一行是主窗体initializecomponent()方法中需要添加的引用 privatevoidform1_sizechanged(o

用C语言将一个数开根号后再取倒数的方法

在上学的时候,曾经看过有人写过这样的算法,就是将一个数开根号后再取倒数的算法,我本人也觉得十分巧妙,于是就将它积累了下来,让我们来看看是怎么回事: #include <stdio.h> #include <stdlib.h> float mysqrt(float x) { float xhalf = 0.5f * x; int i = *(int *)&x; i = 0x5f3759df - (i>>1); x = *(float *)&i; x = x

ios-应用最小化后调用方法

问题描述 应用最小化后调用方法 在应用最小化后调用方法. 比如,在调用了applicationDidEnterBackground:之后五秒钟实现. 我用的代码test没成功: - (void)test { printf("Take a photo"); } - (void)applicationDidEnterBackground:(UIApplication *)application { [self performSelector:@selector(test) withObje

.net 主窗口最小化后屏幕区域出现影像错乱

问题描述 .net 主窗口最小化后屏幕区域出现影像错乱 用vb.net写了一个监控程序,在tablelayoutpanel 中加入了多个模块化的自定义控件,自定义控件带有timer定时刷新,平时最大化应用没出现过什么问题,但是当有其他窗口覆盖或者当该程序最小化之后,原来的自定义控件区域(此时该区域应该不存在焦点之类的问题)就会出现匪夷所思的影像错乱,若果点击该区域的图标位置也会出现失焦. 如图,此时监控程序最小化,同时打开我的文档(为当前活动窗口),黑块部分是原监控程序最大化时tablelayo