exception-未处理InvalidaOperationException

问题描述

未处理InvalidaOperationException

Object is Current in use elsewhere.
排错提示:如果在使用GetHdc方法后使用Graphic对象,请调用ReleaseHdc方法。获取此异常的常规帮助。

自己写了一个PictureButton的控件,在e.Graphics.DrawImage出的异常

    protected override void OnPaint(PaintEventArgs e)
    {
        if (image != null) // && (this.Enabled)
        {
            lock(image)
            {
                e.Graphics.DrawImage(image, this.ClientRectangle, 0, 0, image.Width, image.Height,

GraphicsUnit.Pixel, imgAttr);
}

}

        if (string.IsNullOrEmpty(this.Text))
        {
            if (string.IsNullOrEmpty(this.txtBottom))
            {
                e.Graphics.DrawString(txtTop, this.Font, brush, this.rectTxt, strFmtTxt);
           }
            else
            {
             e.Graphics.DrawString(txtTop, this.Font, brush, this.rectTop, strFmtTop);
             e.Graphics.DrawString(txtBottom, this.Font, brush, this.rectBottom, strFmtBottom);
           }
        }
        else
        {
            e.Graphics.DrawString(this.Text, this.Font, brush, this.rectTxt, strFmtTxt);
        }

        base.OnPaint(e);
    }

已尝试两种方法 均无效:1.跨线程访问的问题,加了InvokeRequre;2.加了GetHdc ReleaseHdc;

VS2005 C#

求助,谢谢!!!

时间: 2024-10-03 22:55:42

exception-未处理InvalidaOperationException的相关文章

PHP异常处理Exception类_php技巧

异常(Exception)用于在指定的错误发生时改变脚本的正常流程. 什么是异常? PHP 5 提供了一种新的面向对象的错误处理方法. 异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程.这种情况称为异常. 当异常被触发时,通常会发生: 当前代码状态被保存 代码执行被切换到预定义的异常处理器函数 根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代码中另外的位置继续执行脚本 我们将展示不同的错误处理方法: 异常的基本使用 创建自定义的异常处理器 多个异常 重新抛

操作INI的class,转自OSLeague啊,作者:bigeagle:)

using System;using System.Collections ;using System.IO ;using System.Diagnostics ;using System.Security.Cryptography ; namespace Bigeagle.Util{    /// <summary>    /// 配置文件类,最终类    /// </summary>    public sealed class Ini    {        /// <

PHP错误和异长常处理总结

 PHP提供了错误处理和日志记录的功能. 这些函数允许你定义自己的错误处理规则,以及修改错误记录的方式. 这样,你就可以根据自己的需要,来更改和加强错误输出信息以满足实际需要 通过日志记录功能,你可以将信息直接发送到其他日志服务器,或者发送到指定的电子邮箱(或者通过邮件网关发送),或者发送到操作系统日志等,从而可以有选择的记录和监视你的应用程序和网站的最重要的部分. 错误报告功能允许你自定义错误反馈的级别和类型,可以是简单的提示信息或者使用自定义的函数进行处理并返回信息.   为什么要使用错误处

通用Excel导入设计

摘要:有时候我们的数据存放在Excel中(特别是对于用户来说更喜欢使用Excel收集一些常用数据),而系统又需要这些数据来处理其他业务,那么此时我们就需要将这些数据导入到数据库中.但是鉴于Excel的样式多种多样,因此每次导入时都必须书写很多重复的代码.很明显对于一个软件开发者做这些重复劳动是一件很无趣的事情.那么怎样来寻中一种通用的方法呢?今天我们就一块看一下如何来解决这个问题. 主要内容 Excel操作组件的选择 总体设计思路 配置文件设计 类设计 编码实现 一点补充 简单的测试 总结 一.

PHP错误和异长常处理总结_php技巧

通过日志记录功能,你可以将信息直接发送到其他日志服务器,或者发送到指定的电子邮箱(或者通过邮件网关发送),或者发送到操作系统日志等,从而可以有选择的记录和监视你的应用程序和网站的最重要的部分.错误报告功能允许你自定义错误反馈的级别和类型,可以是简单的提示信息或者使用自定义的函数进行处理并返回信息. 为什么要使用错误处理?1.是网站出错时对用户友好2.更好的避免错误.调试.修复错误3.避免一些安全风险4.更好保证程序的健壮性5.--一.最简单的错误处理――die()当我们预计有错误发生时,停止脚步

C# 解析 RAS文件 SUM 光栅文件图象的代码_实用技巧

使用方法: 复制代码 代码如下: ImageRas _Ras = new ImageRas(@"D:\temp\test.ras"); pictureBox1.Image = _Ras.Image; _Ras.SaveRas(@"d:\temp\OK.ras"); 我只实现了24位色和8位色 这个结构也太简单了.只有文件头和数据区 .就是8位色的色彩表有些特殊 先是红色表 绿色表 蓝色表 平时都是 RGB.RGB 这样放 这东西居然RRRR.....GGG.....

使用java基于pushlet和bootstrap实现的简单聊天室_java

这是一个简单的不能再简单的聊天室,本代码包含以下功能 1.用户注册. 2.用户登录. 3.当然还可以聊天. DBUtil.java 复制代码 代码如下: package com.hongyuan.core;   import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statemen

使用NPOI从Excel中提取图片及图片位置信息

原文:使用NPOI从Excel中提取图片及图片位置信息 问题背景: 话说,在ExcelReport的开发过程中,有一个比较棘手的问题:怎么复制图片呢? 当然,解决这个问题的第一步是:能使用NPOI提取到图片及图片的位置信息.到这里,一切想法都很顺利.但NPOI到底怎么提取图片及图片的位置信息呢?NPOI能不能提取到图片的位置信息呢? 这是两个问题.是两个让BaiGoogleDu几近沉默的问题.但官方教程的评论中还是流露出了答案的蛛丝马迹. 哇咔咔,这是我去看源码寻答案的的动力. 此处省去(N多字

最近发现自己电脑里的richtextbox控件不能使用了.

问题描述 以前还能用.最近发现不能使用了.就是单建一个form在上面往上拖一个richtextbox就不能用.发生的异常是$exception{"未将对象引用设置到对象的实例."}System.NullReferenceException发生异常的语句是privateSystem.Windows.Forms.RichTextBoxrichTextBox1;this.richTextBox1=newSystem.Windows.Forms.RichTextBox();//出错的语句我刚开