Winform启动隐藏,WebBrowser交互JS
一、启动隐藏
Winform比较奇怪,Load的时候设置Visiable=false,无效。webBrowser_DocumentCompleted之后调用hide隐藏了窗体,但是在notifyIcon调用show也不能打开窗体。各种奇葩问题。最后stackOverFlow上找到答案。设置透明度,和取消显示在任务栏。
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.ObjectForScripting = this;
WindowState = FormWindowState.Minimized;
Opacity = ;
ShowInTaskbar = false;
}
在notifyIcon点击的时候触发:
private void SCADAnotifyIcon_Click(object sender, EventArgs e)
{
if (WindowState != FormWindowState.Normal||Visible==false)
{
WindowState = FormWindowState.Normal;
Visible = true;
Opacity =;
ShowInTaskbar = true;
}
else
{
Visible = false;
}
}
达到想要的效果,启动后隐藏,只出现在托盘中。托盘再打开。
二、JS与C# 交互
1.C#调用webbrowser中的JS
javascript方法:
function localversion(version) {
$("#loadedversion").html(version);
}
function setName(name) {
$("#pname").html(name);
}
传递参数必须是objects数组。
/// <summary>
/// 调用JS的方法设置一些信息
/// </summary>
/// <param name="o">The o.</param>
/// <param name="f">The f.</param>
private void InvokeJs(object o, string f)
{
_objects[] = o;
if (webBrowser1.Document != null)
webBrowser1.Document.InvokeScript(f, _objects);
}
private readonly object[] _objects = new object[];
调用的时候:
private void CheckLocal()
{
InvokeJs(ConstFile.ROOLBACKFILE, "setName");
InvokeJs(_autoUpdater.GetLoadedVersion(), "localversion");
}
2.js调用C#。
需要在方法或者类上面标记:
[System.Runtime.InteropServices.ComVisible(true)]
在html页面中直接对应过来即可。
<button id="checkUpdate" onclick="window.external.CheckUpdate()" class="btn btn-success btn-small">检查更新</button>
<button id="installer" class="btn btn-info btn-small" onclick="window.external.RunInstaller()" >安装</button>
这两个按钮会分别触发Form中的方法:
/// <summary>
/// 安装
/// </summary>
public void RunInstaller()
{
_autoUpdater.RunInstaller();
}
public void CheckUpdate()
{
//........
}
Winform启动隐藏,WebBrowser交互JS的更多相关文章
- Winform控件WebBrowser与JS脚本交互
1)在c#中调用js函数 如果要传值,则可以定义object[]数组. 具体方法如下例子: 首先在js中定义被c#调用的方法: function Messageaa(message) { ...
- Winform 通过 WebBrowser 与 JS 交互
Winform 通过 WebBrowser 与 JS 交互 魏刘宏 2019.08.17 之前在使用 Cef (可在 Winform 或 WPF 程序中嵌入 Chrome 内核的网页浏览器的组件)时, ...
- WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互
方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址 http://www.microsoft.com/downloads/details ...
- C# winForm启动最小化到任务栏右侧通知栏并交互操作
原文链接:http://blog.sina.com.cn/s/blog_45eaa01a01013u36.html C# winForm启动最小化到任务栏右侧通知栏并交互操作 一.主要功能:(1).程 ...
- C#在WinForm中使用WebKit传递js对象实现与网页交互的方法
这篇文章主要介绍了C#在WinForm中使用WebKit传递js对象实现与网页交互的方法,涉及针对WebBroswer控件及WebKit控件的相关使用技巧,需要的朋友可以参考下 本文实例讲述了C#在W ...
- WinForm中嵌入WebBrowser,并且支持C#和JS方法的相互调用
纯粹WinForm界面不够友好,实现数据复杂度高的处理有些力不从心,所以看了看api以后决定用html来做. 我的wlw的代码插件不是很好用,大家凑合看吧 类前说明引用和权限 1: [Permissi ...
- webbrowser和js交互小结
一.实现WebBrowser内部跳转,阻止默认打开IE 1.引用封装好的WebBrowserLinkSelf.dll实现 public partial class MainWindow : Windo ...
- C# WinForm 和 javascript进行交互 使用HTML做界面
01 using System; 02 using System.Collections.Generic; 03 using System.Text; 04 using System.Reflecti ...
- C# WinForm开发系列 - WebBrowser
原文:C# WinForm开发系列 - WebBrowser 介绍Vs 2005中带的WebBrowser控件使用以及一些疑难问题的解决方法, 如如何正确显示中文, 屏蔽右键菜单, 设置代理等; 收集 ...
随机推荐
- Excel中添加并使用宏实现批量更新数据
一.状况描述 当我们需要后台更新大量数据的时候,可以使用该功能.二.解決方案 (1)新建一个Excel文件,并另存为启用宏的Excel工作簿,扩展名为.xlsm. (2)在Excel ...
- 格式化HRESULT获取对应文本
CString CXXUtil::FormatMessageFor(HRESULT hr) { CString strMsg; LPVOID pvMsgBuf = NULL; LPCTSTR pszM ...
- CSS布局技巧 -- 纯CSS让子元素的宽度总和决定其父元素的宽度
使用场景 在移动端屏幕宽度有限的前提下,使用横向滚动的方式展示更多的内容.在这样的需求下,希望父元素作为容器,其宽度可以又横向排列资源的总宽度动态撑开,超过祖父元素的宽度:在不超过祖父元素时,自动继承 ...
- SAAS在中国市场的发展前景
发展现状 2008年1-7月软件行业实现收入4199.1亿元,同比增长32.4%.2008年第一季度,业务管理软件市场总量达16.31亿元,同比增长17.8%.面对成本的上升,企业选择了向信息化要效率 ...
- Kubernetes1.5正式发布
Kubernetes1.5正式发布 修复了很多已知问题 进一步增强federation相关特性 将PetSet改名为StatefulSet 将ScheduledJobs改名为CronJobs 新增了命 ...
- URAL1132_Square Root
求解方程,x^2=n (mod P). 解二次同余方程的步骤: 1.首先判断勒让德符号(n,p)是否的等于1,即n^((p-1/2)=1 (mod p)是否成立.不成立显然无解.(略) 2.任取0-( ...
- 如何让你的UWP应用程序无缝调用几何作图
有时候需要编辑一些几何图形,如三角形,圆锥曲线等,在UWP应用中加入这些几何作图功能是件费时间又很难做好的事.其实Windows 10 应用商店中已有一些专业的几何作图工具了,那么能借来一用吗?答案是 ...
- JavaScript常用函数之Eval()使用
eval() 功能:首先解释Javascript代码 然后执行它 用法:Eval(codeString) codeString是包含有javascript语句的字符串,在eval之后使用Javasc ...
- 【转】如何在Windows+VS2005使用最新静态libcurl 7.35.0获取网页数据,支持HTTPS
地址: http://blog.csdn.net/hujkay作者:Jekkay Hu(34538980@qq.com)关键词:Windows,curl,ssl, visual c++ 2005, ...
- 【转】测试LibreOffice SDK 开发环境配置(Windows)
原文:http://www.aqcoder.com/blog/detail/id/7441186b-93fd-482c-b4d7-0facd1ee498d 下载与安装 LibreOffice 主页:h ...