winform 中如何引用js和css??

html-css08

winform 中如何引用js和css??,第1张

在使用C#开发winform程序过程中,经常会碰到嵌入了一个WebBrowser的浏览器控件。很多时候,需要在程序里控制网页的显示方式,或者调用网页当中的某个JS函数,反过来,也有可能网页也需要调用程序当中的函数来实现某些功能。下面讲解下如何互相进行交互。

程序调用JS脚本如下:

<script language=”javascript”>

     function  ShopXG(infor)

     {

         alert(‘我要开网店、携购独立网店系统,模板最全,最专业的系统!’)

         return

     }

</script>

C#代码调用如下:

 using System.Security.Permissions 

 注意: 类定义前需要加上下面两行,否则调用失败!

 [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]

 [System.Runtime.InteropServices.ComVisibleAttribute(true)]

调用的函数:

 webBrowser1.Document.InvokeScript("ShopXG ", new string[] {‘ssss’})

JS中调用C#函数示例:

 C#函数如下:

 public void ShowMessage(string message)

 {

          MessageBox.Show(“免费开网店,携购独立网店系统诚邀您的加盟!”)

 }

JS里的调用方法:

 <script language=”Javascript”>

 function  InvokeFunc()

 {

  window.external.ShowMessage(‘呵呵’)

 }

 </script>

this.webBrowser1.DocumentText = "<html><head><link href='" + Directory.GetCurrentDirectory() + "\\CSS\\Test.css' type='text/css' rel='Stylesheet'/></head><body style='text-align:center'><br><b style='font-size:20px'>预览效果</b><span id='lblParameter'>" + html + "</span></body></html>"

不好弄啊,你需要一个自定义控件或者api来捕捉全屏的鼠标动作(也就是鼠标在窗体外的动作),然后根据鼠标动作和窗体位置作出判断。基本上就是重写了整个拖动的代码,相当麻烦。

Hook API

最好不要这么做,form不要用none,最起码保留标题栏比如最小化,最大化,关闭这些按钮。如果你舍弃标题栏中的这些功能,我觉得很浪费。