易截截图软件、单文件、免安装、纯绿色、仅160KB

C#中实现WebBrowser控件的HTML源代码读写

趁周末想折腾一下嵌入ASP.NET的WinForm程序
需要用到WebBrowser控件的HTML源码读写
就把以前的一些代码片断移值到C#下
顺便发个帖子备忘,呵呵
  
思路其实很简单,直接通过document.documentElement.outerHTML
或者使用IPersistStreamInit接口直接对流进行处理
前者我就不废话了,后者实现方法如下
  
首先是写入HTML到已初始化的WebBrowser控件
初始化可以通过Navigate("about:blank")完成
必须确保WebBrowser.Document != null
否则应该推迟到DocumentComplete事件再读写
  
UCOMIStream stream = null;
  
CreateStreamOnHGlobal(Marshal.StringToHGlobalUni(value), true, out stream);
   
if(stream != null)
  
{
    IPersistStreamInit persistentStreamInit =
      (IPersistStreamInit)WebBrowser.Document;
  
    persistentStreamInit.InitNew();
    persistentStreamInit.Load(stream);
    persistentStreamInit = null;
}
  
UCOMIStream是COM中IStream的CLR版本
CreateStreamOnHGlobal函数从一个字符串的地址
创建一个IStream供使用
  
[DllImport("ole32.dll", PreserveSig=false)]
static extern void CreateStreamOnHGlobal(IntPtr hGlobal,
    Boolean fDeleteOnRelease, [Out] out UCOMIStream pStream);
  
然后就是通过IPersistStreamInit接口初始化并载入HTML源码,
IPersistStreamInit接口CLR缺省没有导入,定义如下
  
[ComVisible(true), ComImport(), Guid("7FD52380-4E07-101B-AE2D-08002B2EC713"),
   InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IPersistStreamInit
{
    void GetClassID([In, Out] ref Guid pClassID);
  
    [return: MarshalAs(UnmanagedType.I4)] [PreserveSig]
    int IsDirty();
  
    void Load([In, MarshalAs(UnmanagedType.Interface)] UCOMIStream pstm);
    void Save([In, MarshalAs(UnmanagedType.Interface)] UCOMIStream pstm,
 


相关文档:

Html 元素自动下拉


  前台脚本的元素自动下拉扩展:
    具体是当鼠标放在一个元素上时,这个元素如果显示不全,就自动扩展,并且不会影响其它的元素.移开鼠标该元素自动还原成原来的样式.
 
    在Coding 的过程中,一个跨Browser的问题是:
    在每一次显示 float div前 ......

HTML 标签

定义和用法
<area> 标签定义图像映射中的区域(注:图像映射指得是带有可点击区域的图像)。
area 元素总是嵌套在 <map> 标签中。
注释:<img> 标签中的 usemap 属性与 map 元素 name 属性相关联,创建图像与映射之间的联系。
实例
带有可点击区域的图像映射:
<img src="planets.jpg" border=" ......

在flex中使用嵌入html文件以解决显示html的问题

想在flex中真实的显示html,但是texteara,lable,text中只支持部分html标签
<a>、<b>、<br>、<font>、<img>如果用img又存在显示自动换行的问题。只有采用嵌入html的方法来解决。
1.flexdemo1
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe ......

网站HTML静态化解决方案

package com.jb.y2t034.thefifth.web.servlet;  
import java.io.ByteArrayOutputStream;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.io.OutputStreamWriter;  
import java.io.PrintWriter;  
import jav ......

html css 表格边框

<html>
<head>
<mce:style type = "text/css"><!--
table
{
border-collapse:collapse;
}
td
{
border:solid 1px black;
}

--></mce:style><style type = "text/css" mce_bogus="1">table
{
border-collapse:collapse;
}
td
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号