27
2014
03

C# 实现加载gif动画图片

 

一:最简单的方法使用label控件,直接把gif设置为背景图片就可以了。

二:使用GDI+ 来实现 (很粗略的实现,没有帧间隔)

            Image image = Image.FromFile("e:\\temp.gif");
           
            FrameDimension fd = new FrameDimension(image.FrameDimensionsList[0]);
            int count = image.GetFrameCount(fd);
            Graphics g = this.panel1.CreateGraphics();
            while (true)
            {
               
                for (int i = 0; i < count; i++)
                {
                   
                    //g.Clear(Color.White);
                    image.SelectActiveFrame(fd, i);
                    g.DrawImage(image, new Point(0, 0));
                    System.Threading.Thread.Sleep(100);
                    Application.DoEvents();
                }
            }

19
2014
03

Winform中FormClosing与FormClosed区别

 


FormClosing的时候还能取消,你可以提问要不要关闭,如果用户不要,可以取消,用e.Cancel=true;
FormClosed的话,就没用了。


FormClosing事件

在窗体关闭时,FormClosing事件发生。此事件会得到处理。从而释放与窗体相关的所有资源。

如果取消此事件,则窗体仍然保持打开状态。

18
2014
03

RDLC报表获取参数信息 GetParameters

  RDLC 报表获取参数信息。

 

foreach (ReportParameterInfo parameterField in LocalReport.GetParameters())
             {
                parameterNames.Add(parameterField.Name);
            }

15
2014
03

C#未处理 System.AccessViolationException异常的捕捉问题

 

用C#调用C写的一个dll文件, 经常碰到System.AccessViolationException 

未处理 System.AccessViolationException

尝试读取或写入受保护的内存。这通常指示其他内存已损坏。


21
2014
02

Winform设置Listbox的ItemHeight 高度无效

 

Winform中ItemHeight的默认值是13,在属性窗口里更改时,改了又变回去了。原来Listbox默认是不能更改ItemHeight的。想要更改的话,需要这样做:

1.  设置DrawMode=OwnerDrawVariable
2.  然后处理DrawItem事件

  private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
        {
            e.DrawBackground();
            e.DrawFocusRectangle();
            e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
        }

17
2014
02

C#实现Windows服务中Timer和Thread执行定时任务

 

 

Windows Service 程序定时执行任务。

配置文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <!--timer计时器间隔时间,单位(秒)-->
    <add key="TimerIntervalSec" value="600"/> 十分钟
  </appSettings>
</configuration>

16
2014
02

Aspose.Pdf for .NET实现PDF转Excel、EPS、SVG等

Aspose.Pdf for .NET v8.6.0能转换PDF文件为MS Excel工作簿。PDF文件中每个页面都以一个单独的工作表呈现。以下代码片段展示了如何使用这项功能:


// Load PDF document

Aspose.Pdf.Document doc = new Aspose.Pdf.Document(@"C:\input.pdf");

// Instantiate ExcelSave Option object

14
2014
02

itextsharp去除PDF内的水印

PDF文件使用内容组[Optional Content Groups (OCG)]来作为图层存储对象。如果你的水印是添加到图层中,那么去除也会很容易。


下面的代码是一个完整的工作C#2010 WinForms应用程序。该代码包括三个部分。第1部分创建一个PDF。第2部分在创建后的PDF上添加一个单独的水印层。第3部分会去除第二部分添加的水印。


当你创建一个PdfLayer对象,你可以给它分配一个可在PDF阅读器中显示的名称。但现在还找到一种方法来访问这个名称,因此下面的代码是查找实际水印文本层。如果你没有使用额外的PDF图层,我建议你只找/ OC内容流,而不是浪费时间去寻找你的实际水印文本。

13
2014
02

PDF解析


今天介绍的是一个.net dll,可以实现PDF结构解析, 能获得PDF文档的标题、页数、制作程序等,已经加密信息和嵌入信息。



示例代码下载 。

aboutpdfsamples.zip

10
2014
02

C#实现List和datatable相互转换

需要添加引用

using System.Reflection;


1. List转DataTable 

 public DataTable ConvertToDataTablet<T>(IList<T> list)

        {

            if (list == null || list.Count <= 0)