C# WinForm WebBrowser
1、 主要用途 :使用户可以在窗体中导航网页。
2、 注意 :WebBrowser 控件会占用大量资源。使用完该控件后一定要调用 Dispose 方法,以便确保及时释放所有资源。必须在附加事件的同一线程上调用 Dispose 方法,该线程应始终是消息或用户界面 (UI) 线程。
3、 WebBrowser 使用下面的成员可以将控件导航到特定 URL 、在导航历史记录列表中向后和向前移动,还可以加载当前用户的主页和搜索页:
1. URL属性 :可读、可写,用于获取或设置当前文档的 URL 。
WebBrowser 控件维护浏览会话期间访问的所有网页的历史记录列表。设置 Url 属性时, WebBrowser 控件导航到指定的 URL 并将该 URL 添加到历史记录列表的末尾。
WebBrowser 控件在本地硬盘的缓存中存储最近访问过的站点的网页。每个页面都可以指定一个到期日期,指示页面在缓存中保留的时间。当控件定位到某页时,如果该页具有缓存的版本,则直接显示缓存中的内容而不必重新下载该页,从而节省了时间。使用 Refresh 方法强制 WebBrowser 控件通过下载来重新加载当前页,从而确保控件显示最新版本。
注意 :即使已请求了另一个文档,该属性也包含当前文档的 URL 。如果设置该属性的值,然后立即再次检索该值,要是 WebBrowser 控件尚未来得及加载新文档,则检索到的值可能与设置的值不同。
2. Navigate方法 : 将指定位置的文档加载到 WebBrowser 控件中。
3.GoBack方法: 如果导航历史记录中的上一页可用,则将 WebBrowser 控件导航到该页。
如果导航成功,则返回true ;如果导航历史记录中的上一页不可用,则返回 false 。
WebBrowser 控件维护浏览会话期间访问的所有网页的历史记录列表。可以使用 GoForward 方法实现一个 “ 后退 ” 按钮。
使用 CanGoBack 属性确定导航历史记录是否可用以及是否包含上一页。处理 CanGoBackChanged 事件,在 CanGoBack 属性值更改时接收通知。
4. GoForward方法: 如果导航历史记录中的下一页可用,则将 WebBrowser 控件导航到该页。
如果导航成功,则返回true ;如果导航历史记录中的下一页不可用,则返回 false 。
WebBrowser 控件维护浏览会话期间访问的所有网页的历史记录列表。可以使用 GoForward 方法实现一个 “ 前进 ” 按钮 .
使用 CanGoForward 属性确定导航历史记录是否可用以及是否包含当前页之后的页。处理 CanGoForwardChanged 事件,在 CanGoForward 属性值更改时接收通知
5. GoHome方法 :将 WebBrowser 控件导航到当前用户的主页。
6. GoSearch方法 :将 WebBrowser 控件导航到当前用户的默认搜索页。
默认搜索页存储在注册表的 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Search Page 注册表项下。
若要使用其他搜索页而不是默认搜索页,请调用 Navigate 方法或指定 Url 属性。
7. Refresh方法 :重新加载当前显示在 WebBrowser 控件中的文档。
8. Stop方法 :取消所有挂起的导航并停止所有动态页元素(如背景声音和动画)。
如果导航不成功,则显示一页指示出现的问题。使用这些成员中的任何一个进行导航都会导致在导航的不同阶段发生 Navigating 、 Navigated 和 DocumentCompleted 事件。
4、 ObjectForScripting 属性 :获取或设置一个对象,该对象可由显示在 WebBrowser 控件中的网页所包含的脚本代码访问。
使用该属性启用 WebBrowser 控件承载的网页与包含 WebBrowser 控件的应用程序之间的通信。使用该属性可以将动态 HTML (DHTML) 代码与客户端应用程序代码集成在一起。为该属性指定的对象可作为 window . external 对象(用于主机访问的内置 DOM 对象)用于网页脚本。
可以将此属性设置为希望其公共属性和方法可用于脚本代码的任何 COM 可见的对象。可以通过使用 ComVisibleAttribute 对类进行标记使其成为 COM 可见的类。
若要从客户端应用程序代码调用网页中定义的函数,请使用可从 Document 属性检索的 HtmlDocument 对象的 HtmlDocument . InvokeScript 方法 。
5、 AllowNavigation属性 :获取或设置一个值,该值指示控件在加载其初始页之后是否可以导航到其他页。
6、 AllowWebBrowserDrop属性 :获取或设置一个值,该值指示 WebBrowser 控件是否导航到拖放到它上面的文档。
7、 WebBrowserShortcutsEnabled 属性:是否启用 WebBrowser 自带的快捷键。
8、 ScriptErrorsSuppressed 属性:获取或设置一个值,该值指示出现脚本错误时, WebBrowser 控件是否显示错误对话框。
9、 IsWebBrowserContextMenuEnabled 属性:是否启用右键菜单。
源:MSDN http://msdn.microsoft.com/zh-cn/library/system.windows.forms.webbrowser(v=vs.80).aspx
C#WinForm WebBrowser (二 ) 实用方法总结
实用方法1 :获取状态栏信息
void webBrowser1_StatusTextChanged(object sender, EventArgs e) { label1.Text = webBrowser1.StatusText; }
实用方法2 :页面跳转后改变地址栏地址
//在 Navigated 事件处理函数中改变地址栏地址是最恰当的: private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e) { textBox1.Text = webBrowser1.Url.ToString(); }
实用方法3 :设置单选框
//建议使用执行单击事件的方式来设置单选框,而不是修改属性: webBrowser1.Document.GetElementById("RBT_A" ).InvokeMember("click" );
实用方法4 :设置联动型下拉列表
//比较常见的联动型多级下拉列表就是省 / 市县选择了,这种情况下直接设置选择项的属性不会触发联动,需要在最后执行触发事件函数才能正常工作: foreach (HtmlElement f in s.GetElementsByTagName("option" )) { if (f.InnerText == "北京 " ) { f.SetAttribute("selected" , "selected" ); } else { f.SetAttribute("selected" , "" ); } } s.RaiseEvent("onchange" );
以上四种方法转于: http://www.cnblogs.com/SkyD/archive/2009/04/23/1441696.html
实用方法一:在WinForm 中相应 Web 事件 假设HTML 源代码如下:
< html > < body > < input type ="button" id ="btnClose" value ="关闭 " /> body > html >
HtmlDocument htmlDoc = webBrowser.Document; HtmlElement btnElement = htmlDoc.All["btnClose" ]; if (btnElement != null ) { btnElement.click += new HtmlElementEventHandler(HtmlBtnClose_Click); }
//很简单吧?那么稍稍高级一点的 —— 我们都知道一个 HTML 元素可能有很多各种各样的事件,而 HtmlElement 这个类只给出最常用、共通的几个。那么,如何响应其他事件呢?这也很简单,只需要调用 HtmlElement 的 AttachEventHandler 就可以了:
btnElement.AttachEventHandler("onclick", new EventHandler(HtmlBtnClose_Click)); //这一句等价于上面的 btnElement.click += new HtmlElementEventHandler(HtmlBtnClose_Click);
对于其他事件,把"onclick" 换成该事件的名字就可以了。例如:
formElement.AttachEventHandler("onsubmit" , new EventHandler(HtmlForm_Submit));
实用方法二:模拟表单自动填写和提交
假设有一个最简单的登录页面,输入用户名密码,点“ 登录 ” 按钮即可登录。已知用户名输入框的 id (或 Name ,下同)是 username ,密码输入框的 id 是 password , “ 登录 ” 按钮的 id 是 submitbutton ,那么我们只需要在 webBrowser 的 DocumentCompleted 事件中使用下面的代码即可:
HtmlElement btnSubmit = webBrowser.Document.All["submitbutton" ]; HtmlElement tbUserid = webBrowser.Document.All["username" ]; HtmlElement tbPasswd = webBrowser.Document.All["password" ]; if (tbUserid == null || tbPasswd == null || btnSubmit == null ) return ; tbUserid.SetAttribute("value" , "smalldust" ); tbPasswd.SetAttribute("value" , "12345678" ); btnSubmit.InvokeMember("click" );
关于表单的提交,的确还有另一种方法就是获取form 元素而不是 button ,并用 form 元素的 submit 方法:
HtmlElement formLogin = webBrowser.Document.Forms["loginForm" ]; //…… formLogin.InvokeMember("submit" );
本文之所以没有推荐这种方法,是因为现在的网页,很多都在submit 按钮上添加 onclick 事件,以对提交的内容做最基本的验证。如果直接使用 form 的 submit 方法,这些验证代码就得不到执行,有可能会引起错误。
实用方法三 :调用脚本
首先是调用Web 页面的脚本中已经定义好的函数。假设 HTML 中有如下 Javascript :
function DoAdd(a, b) { return a + b; }
那么,我们要在WinForm 调用它,只需如下代码即可:
object oSum = webBrowser.Document.InvokeScript("DoAdd" , new object [] { 1 , 2 }); int sum = Convert.ToInt32(oSum);
其次,如果我们想执行一段Web 页面中原本没有的脚本,该怎么做呢?这次 .Net 的类没有提供,看来还要依靠 COM 了。 IHTMLWindow2 可以将任意的字符串作为脚本代码来执行。
string scriptline01 = @"function ShowPageInfo() {" ; string scriptline02 = @" var numLinks = document.links.length; " ; string scriptline03 = @" var numForms = document.forms.length; " ; string scriptline04 = @" var numImages = document.images.length; " ; string scriptline05 = @" var numScripts = document.scripts.length; " ; string scriptline06 = @" alert('网页的统计结果: \r\n 链接数: ' + numLinks + " ; string scriptline07 = @" '\r\n表单数: ' + numForms + " ; string scriptline08 = @" '\r\n图像数: ' + numImages + " ; string scriptline09 = @" '\r\n脚本数: ' + numScripts);}" ; string scriptline10 = @"ShowPageInfo();" ; string strScript = scriptline01 + scriptline02 + scriptline03 + scriptline04 + scriptline05 + scriptline06 + scriptline07 + scriptline08 + scriptline09 + scriptline10; IHTMLWindow2 win = (IHTMLWindow2)webBrowser.Document.Window.DomWindow; win.execScript(strScript, "Javascript" );
以上三种实用方法转于: http://www.cnblogs.com/smalldust/archive/2006/03/08/345561.html
最后: 在脚本中调用WinForm 里的代码 ,这个可能吗? 呵呵,当然是可能的。 下面的代码示例演示如何使用 ObjectForScripting 属性。在该示例中, ObjectForScripting 属性被设置为当前窗体。
view source print ?
using System;
using System.Windows.Forms;
using System.Security.Permissions;
[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public class Form1 : Form
{
private WebBrowser webBrowser1 = new WebBrowser();
private Button button1 = new Button();
public static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
button1.Text = "call script code from client code";
button1.Dock = DockStyle.Top;
button1.Click += new EventHandler(button1_Click);
webBrowser1.Dock = DockStyle.Fill;
Controls.Add(webBrowser1);
Controls.Add(button1);
Load += new EventHandler(Form1_Load);
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.AllowWebBrowserDrop = false;
webBrowser1.IsWebBrowserContextMenuEnabled = false;
webBrowser1.WebBrowserShortcutsEnabled = false;
webBrowser1.ObjectForScripting = this;
// Uncomment the following line when you are finished debugging.
//webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.DocumentText =
"
你可能感兴趣的:(C# Winform WebBrowser控件)
服务器ws证书,C#使用带有ssl和服务器证书的ws-security webservice无法为具有权限的SSL / TLS Build 安全通道...
王振升
服务器ws证书
我必须使用带有SSL证书和服务器证书的javawebservice.我获得了TLS证书和WSS证书我的app.config:binding="customBinding"bindingConfiguration="customB"behaviorConfiguration="myBehavior"contract="ServiceReference1.MyClient"name="Name">me
C#使用Winform实现简单的编辑器:编译、运行、关键字、注释高亮显示。
吾与谁归in
c# java c++
发布文章的目的即是学习也是分享保存。目录1、简单的界面设计2、实现代码(1)用到的变量字段(2)窗体初始化、加载(3)执行操作:编译、运行(4)编译功能方法(5)高亮显示(6)其它3、运行效果4、说明1、文本发生变化的重绘滚动(闪烁)问题。2、光标位置显示问题。3、关键字高亮显示后,直接在后面输入文字格式问题。1、简单的界面设计程序分为脚本编辑框,操作、结果显示栏。脚本编辑栏:可以编写自己想要的代
C#实现高性能异步文件下载器(支持进度显示/断点续传)
WangMing_X
C#实现各种功能工具集 c# 开发语言 异步下载
一、应用场景分析异步文件下载器用处很大,当我们需要实现以下功能时可以用的上:大文件下载(如4K视频/安装包)避免UI线程阻塞,保证界面流畅响应多任务并行下载支持同时下载多个文件,提升带宽利用率后台静默下载结合Windows服务实现应用自动更新断点续传系统网络中断后可恢复下载(扩展实现)二、技术实现方案核心组件选择方案优点缺点WebClient代码简洁无法精细控制下载过程HttpWebRequest
【C#实现手写Ollama服务交互,实现本地模型对话】
吾与谁归in
C#学习 WPF c# Ollama Deepseek 本地模型
前言C#手写Ollama服务交互,实现本地模型对话最近使用C#调用OllamaSharpe库实现Ollama本地对话,然后思考着能否自己实现这个功能。经过一番查找,和查看OllamaSharpe源码发现确实可以。其实就是开启Ollama服务后,发送HTTP请求,获取返回结果以及一些数据处理。基本流程1、启动Ollama服务进程。2、创建HttpClient对象。3、创建请求体(参数:模型名称、提示
C# 巩固记录(五)
休#威廉姆斯
C# c# 开发语言
C#构造函数实例构造函数构造函数是类中特殊的成员函数,它的名称与它所在类的名称相同,并且没有返回值。当我们使用new关键字创建类的对象时,可以使用实例构造函数来创建和初始化类中的任意成员属性。静态构造函数静态构造函数用于初始化类中的静态数据或执行仅需执行一次的特定操作。静态构造函数将在创建第一个实例或引用类中的静态成员之前自动调用。静态构造函数具有以下特性:静态构造函数不使用访问权限修饰符修饰或不
android13打基础: timepicker控件
etcix
android
publicclassCh4_TimePickerActivityextendsAppCompatActivityimplementsTimePickerDialog.OnTimeSetListener{privateTextViewtv_time;//声明一个文本视图对象privateTimePickertp_time;//声明一个时间选择器对象@OverrideprotectedvoidonC
Android入门(七) | 常用控件
·Jormungand
Android android java android studio
文章目录TextView控件:文本信息Button控件:按钮EditText控件:输入框ImageView控件:图片ProgressBar控件:进度条AlertDialog控件:提示框ProgressDialog控件:带有进度条的提示框TextView控件:文本信息TextView是Android中较常用的一个控件。主要用于在界面上显示一段文本信息,配置在每个活动的xml文件中。除了之前用到的an
【WPF】Slider滑动方法(INotifyPropertyChanged、ValueChanged )响应速度对比分析
wangnaisheng
WPF C# c# wpf
一、Slider基础用法在XAML中添加一个Slider控件,并设置其基本属性:Maximum="100"Value="50"Width="200"Height="30"HorizontalAlignment="Left"VerticalAlignment="Top"TickFrequency="10"TickPlacement="BottomRight"IsSnapToTickEnabled="
C# &Unity 唐老狮 No.8 模拟面试题
咩咩-哈基米版
C# && Unity 面试题与算法合集 c# unity 开发语言
本文章不作任何商业用途仅作学习与交流安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程打好坚实的基础非常非常重要:全部-游习堂-唐老狮创立的游戏开发在线学习平台-PoweredByEduSoho如果你发现了文章内特殊的字体格式,那是AI补充的知识,我发现原网站下面有答案,我将会把答案以不同样式穿插在回答之中目录C#1.如果我们想为Unity中的Transfor
QT显示网页控件QAxWidget、QWebEngineView及区别
AI+程序员在路上
QT&C++实战系列 qt 开发语言
一.QT种显示网页控件QAxWidget1.介绍QAxWidget属于QtAxContainer模块,ActiveX是微软提出的一种组件对象模型(COM)技术,允许不同的软件组件在Windows操作系统上进行交互和集成。QAxWidget为开发者提供了在Qt应用程序中使用ActiveX控件的能力,通过它可以将各种ActiveX控件嵌入到应用程序界面中。2.使用引入必要的模块在.pro文件中添加QT
PDF处理控件Aspose.PDF,如何实现企业级PDF处理
CodeCraft Studio
文档管理 控件 pdf python java
PDF处理为何成为开发者的“隐形雷区”?“手动调整200页PDF目录耗时3天,扫描件文字识别错误导致数据混乱,跨平台渲染格式崩坏引发客户投诉……”作为开发者,你是否也在为PDF处理的复杂细节消耗大量精力?Aspose.PDF凭借AI增强解析、全栈API控制与企业级自动化能力,正在重新定义PDF处理效率的天花板。Aspose.pdf最新下载一、Aspose.PDF六大技术亮点1.高精度PDF解析与生
QT之QComboBox详细介绍
小小怪同学の
qt 开发语言
此篇文章来源于自己在使用QComboBox类的时候相对其重写而总结的其成员函数知识点,本人能力有限,欢迎大家评论区评论,共同学习一、QComboBox介绍QComboBox是QtGUI库中的一个核心组件,它是一个复合型图形用户界面控件,常用于提供一种紧凑的方式来展示可选项列表。QComboBox通常表现为一个下拉列表框,包含一个文本标签区域和一个下拉箭头按钮,点击箭头时会显示出可供选择的项目列表。
C#零基础入门篇(13.List<T>的基本特性)
think__deeply
c# list 开发语言 visualstudio
在C#中,`List`是一个非常常用且功能强大的泛型集合类,属于`System.Collections.Generic`命名空间。它提供了动态数组的功能,允许开发者存储、管理和操作一组相同类型的元素。以下是关于`List`的详细讲解,包括其特性、常用方法和使用场景。---###1.**`List`的基本特性**-**泛型集合**:`List`是一个泛型类,使用类型参数`T`来指定存储的元素类型。这
有关rtf换行问题
故事里故去
C# 编码 开发 rtf
部分控件开rtf文件\par后的多个空格会导致换行两次推荐用\'a1\'a1替换空格每\'c2\‘e9格式组成一个汉字或符号去掉\’后c2e9就是该字符集的内码一般用gbk,gb2312都可解推荐一个解码网址
《C#多播委托:深入解析核心机制与实战应用指南》
Ro小陌
C# Windows Java c# windows java
在C#中,多播委托(MulticastDelegate)是一种可以引用多个方法的委托类型,它允许将多个方法绑定到同一个委托实例上,并通过一次调用触发所有方法的执行。这是事件处理机制的核心实现基础。以下从底层机制到实际应用详细解析:一、委托基础委托的本质委托是类型安全的函数指针,继承自System.MulticastDelegate类。每个委托实例内部维护一个调用列表(InvocationList)
全面掌握C#多线程编程:核心机制、高级技巧与性能调优
Ro小陌
C# Java 开发语言 c# java 开发语言
在C#中,多线程编程的深度解析需要从底层机制、运行时行为、同步原语和最佳实践等多个维度展开。以下是更深入的技术解析:一、线程与操作系统内核的交互1.线程的底层实现用户模式线程(User-ModeThreads):由CLR管理,轻量级但无法利用多核,依赖协作式调度(如async/await中的状态机)。内核模式线程(Kernel-ModeThreads):由操作系统调度,支持抢占式多任务,每个C#T
C#使用winform实现简单的梯形图指令编译和执行,带编译器和虚拟机代码
isyoungboy
c# java 开发语言
gui效果图,gui代码太长了就不贴了编译结果LD,test3NOT,STORE,TMP1LD,test1OR,LD,TMP1OUT,test2LD,TMP1RST,testLD,TMP1OUT,test22LD,TMP1OUT,test4LD,TMP1CALL,放料编译器代码usingSystem.Collections.Generic;usingSystem.Linq;namespaceLDE
【程序员必备】UE5虚幻引擎:编辑器工具批处理操作,让你的工作效率指数级增长!_ue5编辑器工具控件
2401_83621918
程序员 ue5 虚幻 编辑器
可以看到常用的有三种蓝图类别:①编辑器工具Actor、②编辑器工具对象、③资产操作工具;如果需要对场景中的Actor或者Object进行操作,就选择①和②作为父类。如果需要对内容浏览器中的资产进行操作,则③作为父类。本案例的操作对象是内容浏览器中的资产文件,所以选择【资产操作工具】作为父类。2.打开编辑器工具蓝图①创建一个函数SetStaticMeshLODs(它的功能是基于函数的,所以要实现一种
【DeepSeek问答】Qt布局和控件的关系
CSUC
qt
在Qt中,布局管理器(Layout)与控件(Widget)的关系是容器与内容的关系。布局负责自动管理控件的排列、尺寸调整和自适应,确保界面在不同窗口尺寸下保持美观和功能。以下是详细说明及用法示例:一、布局与控件的关系容器与内容:布局(如QVBoxLayout、QHBoxLayout)作为容器,管理其内部控件的位置和大小。控件(如QPushButton、QLabel)是布局中的内容,通过addWid
C# Winform做动画卡顿怎么办?
肖无疾
游戏 gdi/gdi+ opengl directx c#
Winform用的GDI+,像全屏动画这种卡的稀巴烂,任务管理器看进程如果GPU没动静那就是渣,没加速。可以使用OpenGL或者DirectX这样有GPU加速就不卡了。OpenGL用下面这个,控件里会多出一个glControl,拖到form上CreateaWindowsApplication(.NETFramework4.6)NuGettoinstallOpenTK.GLControlNuGett
C#实现winform中渲染图的展示
幽兰的天空
C#编程 c# windows
在WinForms中实现图形的渲染展示,可以使用GDI+绘图技术。下面是一个简单的示例,演示如何在WinForms中展示一个圆形图形,并根据用户输入的半径动态改变圆的大小:请在VisualStudio中创建一个WinForms应用程序,并将以下代码添加到Form1.cs文件中:usingSystem;usingSystem.Drawing;usingSystem.Windows.Forms;nam
NET WinForm 通过CefSharp 96.0.170嵌入Google浏览器并与网页JS交互
cwr888
JavaScript DonNet openlayers javascript 交互 safari
NETWinForm通过CefSharp96.0.170嵌入Google浏览器加载网页并与网页JS交互,示例代码如下,NETWinForm代码:usingCefSharp;usingCefSharp.WinForms;usingSystem;usingSystem.Drawing;usingSystem.Windows.Forms;namespaceWindowsFormsApp1{publicp
qt中可以显示像excel表的控件
一只小小汤圆
qt qt 开发语言
在Qt中,虽然没有完全与Excel功能完全一致的官方控件,但可以通过以下方式实现类似Excel表格的显示和交互:1.使用Qt自带的表格控件Qt提供了基础的表格组件,适合基本的数据展示和编辑:QTableWidget支持单元格编辑、数据填充和简单格式设置(如字体、颜色)。示例代码:QTableWidget*table=newQTableWidget(10,5);//10行5列table->setHo
C# backgroundworker类
_Csharp
C#基础-高阶-实战知识点 winform c# 开发语言
概念在C#程序中,经常会有一些耗时较长的CPU密集型运算,如果直接在UI线程执行这样的运算就会出现UI不响应的问题。解决这类问题的主要途径是使用多线程,启动一个后台线程,把运算操作放在这个后台线程中完成。但是原生接口的线程操作有一些难度,如果要更进一步的去完成线程间的通信就会难上加难。C#的BackgroundWorker类是一个用于简化在桌面应用程序(如WindowsForms或WPF)中执行后
存储过程创建与调用(在SQL中)
我要打打代码
C#与SQLServer sql 数据库 sqlserver 笔记
存储过程封装一段SQL语句,让SQL语句当成一个整体(编译过),将来调用整体,性能高一些。大概类似于C#中方法。方法名,方法参数列表,返回值,输入参数in,输出参数out存储过程也有参数,也有返回值,输入参数,输出参数--1。判断某个存储过程是否已经存在,存在先删除,再创建ifexists(select*fromsysobjectswhereid=object_id(N'p_studentinfo
QGraphicsView 设置背景透明
科学的发展-只不过是读大自然写的代码
# qt绘图 qt
1.QGraphicsView设置背景透明在Qt中,要使QGraphicsView的背景透明,你需要设置视图的调色板(QPalette)以使用透明背景,并且可能需要设置一些窗口属性以确保视图的父窗口或控件能够支持透明度。以下是如何设置QGraphicsView背景为透明的步骤:设置调色板:首先,获取QGraphicsView的调色板对象,并将背景颜色设置为透明。设置窗口属性:为了确保视图背景是透明
FairyGUI 投影 图片,文本,组件
王王王渣渣
Unity FairyGUI 投影 图片 Unity
FairyGUI中,文本控件自带了投影的功能,我们可以在设置中设置投影的偏移以及颜色。但是我们的UI同学想给图片等也添加投影的效果,就无从实现了。然后就丢给我们程序帮忙解决=。=需求可以给组件,图片等添加投影,文字投影需要可以设置透明度(目前不行)。思路首先自己莫得水平去改FairyGUIEditor编辑器,那就得从unity那下手。如何让unity知道哪些组件我们是想设置投影的,并且获得投影的相
Trae开发功能汇总及详细使用心得
un_fired
人工智能 个人开发 ide
目录1.图生代码(比较适用于前端页面的生成)1.1.简单的页面1.2.复杂的页面(例如多个跳转或动画控件)2.文生代码1.图生代码(比较适用于前端页面的生成)1.1.简单的页面经过几天的实测,搭载claude3.7更新后简单的前端页面几乎能一模一样的还原(除了控件高度等需要自己微调)。建议自己画一张原型图后直接发送"你需要根据图片中的内容生成前端页面的代码,确保能够在微信小程序/网页中正常显示"。
【每日学点HarmonyOS Next知识】对话框去掉圆角、数组拼接、自定义对话框依附某个控件、平移动画、页面栈管理
轻口味
每天学点HarmonyOS Next知识 harmonyos 华为 harmonyosnext
1、HarmonyOSCustomDialog怎么去掉左右和底部的透明以及圆角?CustomDialog怎么去掉左右和底部的透明以及圆角设置customStyle为true即可开启使用自定义样式。设置borderRadius为0去掉圆角属性。属性用法参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/t
c# 收取邮件 解析_C# 解析eml邮件内容
weixin_39654058
c# 收取邮件 解析
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Text.RegularExpressi
面向对象面向过程
3213213333332132
java
面向对象:把要完成的一件事,通过对象间的协作实现。
面向过程:把要完成的一件事,通过循序依次调用各个模块实现。
我把大象装进冰箱这件事为例,用面向对象和面向过程实现,都是用java代码完成。
1、面向对象
package bigDemo.ObjectOriented;
/**
* 大象类
*
* @Description
* @author FuJian
Java Hotspot: Remove the Permanent Generation
bookjovi
HotSpot
openjdk上关于hotspot将移除永久带的描述非常详细,http://openjdk.java.net/jeps/122
JEP 122: Remove the Permanent Generation
Author Jon Masamitsu
Organization Oracle
Created 2010/8/15
Updated 2011/
正则表达式向前查找向后查找,环绕或零宽断言
dcj3sjt126com
正则表达式
向前查找和向后查找
1. 向前查找:根据要匹配的字符序列后面存在一个特定的字符序列(肯定式向前查找)或不存在一个特定的序列(否定式向前查找)来决定是否匹配。.NET将向前查找称之为零宽度向前查找断言。
对于向前查找,出现在指定项之后的字符序列不会被正则表达式引擎返回。
2. 向后查找:一个要匹配的字符序列前面有或者没有指定的
BaseDao
171815164
seda
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class BaseDao {
public Conn
Ant标签详解--Java命令
g21121
Java命令
这一篇主要介绍与java相关标签的使用 终于开始重头戏了,Java部分是我们关注的重点也是项目中用处最多的部分。
1
[简单]代码片段_电梯数字排列
53873039oycg
代码
今天看电梯数字排列是9 18 26这样呈倒N排列的,写了个类似的打印例子,如下:
import java.util.Arrays;
public class 电梯数字排列_S3_Test {
public static void main(S
Hessian原理
云端月影
hessian原理
Hessian 原理分析
一. 远程通讯协议的基本原理
网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http 、 tcp 、 udp 等等, http 、 tcp 、 udp 都是在基于 Socket 概念上为某类应用场景而扩展出的传输协
区分Activity的四种加载模式----以及Intent的setFlags
aijuans
android
在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。
这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。 加载模式分类及在哪里配置
Activity有四种加载模式:
standard
singleTop
hibernate几个核心API及其查询分析
antonyup_2006
html .net Hibernate xml 配置管理
(一) org.hibernate.cfg.Configuration类
读取配置文件并创建唯一的SessionFactory对象.(一般,程序初始化hibernate时创建.)
Configuration co
PL/SQL的流程控制
百合不是茶
oracle PL/SQL编程 循环控制
PL/SQL也是一门高级语言,所以流程控制是必须要有的,oracle数据库的pl/sql比sqlserver数据库要难,很多pl/sql中有的sqlserver里面没有
流程控制;
分支语句 if 条件 then 结果 else 结果 end if ;
条件语句 case when 条件 then 结果;
循环语句 loop
强大的Mockito测试框架
bijian1013
mockito 单元测试
一.自动生成Mock类 在需要Mock的属性上标记@Mock注解,然后@RunWith中配置Mockito的TestRunner或者在setUp()方法中显示调用MockitoAnnotations.initMocks(this);生成Mock类即可。二.自动注入Mock类到被测试类 &nbs
精通Oracle10编程SQL(11)开发子程序
bijian1013
oracle 数据库 plsql
/*
*开发子程序
*/
--子程序目是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用程序中多次调用
--PL/SQL有两种类型的子程序:过程和函数
--开发过程
--建立过程:不带任何参数
CREATE OR REPLACE PROCEDURE out_time
IS
BEGIN
DBMS_OUTPUT.put_line(systimestamp);
E
【EhCache一】EhCache版Hello World
bit1129
Hello world
本篇是EhCache系列的第一篇,总体介绍使用EhCache缓存进行CRUD的API的基本使用,更细节的内容包括EhCache源代码和设计、实现原理在接下来的文章中进行介绍
环境准备
1.新建Maven项目
2.添加EhCache的Maven依赖
<dependency>
<groupId>ne
学习EJB3基础知识笔记
白糖_
bean Hibernate jboss webservice ejb
最近项目进入系统测试阶段,全赖袁大虾领导有力,保持一周零bug记录,这也让自己腾出不少时间补充知识。花了两天时间把“传智播客EJB3.0”看完了,EJB基本的知识也有些了解,在这记录下EJB的部分知识,以供自己以后复习使用。
EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基
angular.bootstrap
boyitech
AngularJS AngularJS API angular中文api
angular.bootstrap
描述:
手动初始化angular。
这个函数会自动检测创建的module有没有被加载多次,如果有则会在浏览器的控制台打出警告日志,并且不会再次加载。这样可以避免在程序运行过程中许多奇怪的问题发生。
使用方法: angular .
java-谷歌面试题-给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数
bylijinnan
java
public class SearchInShiftedArray {
/**
* 题目:给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数。
* 请在这个特殊数组中找出给定的整数。
* 解答:
* 其实就是“旋转数组”。旋转数组的最小元素见http://bylijinnan.iteye.com/bl
天使还是魔鬼?都是我们制造
ducklsl
生活 教育 情感
----------------------------剧透请原谅,有兴趣的朋友可以自己看看电影,互相讨论哦!!!
从厦门回来的动车上,无意中瞟到了书中推荐的几部关于儿童的电影。当然,这几部电影可能会另大家失望,并不是类似小鬼当家的电影,而是关于“坏小孩”的电影!
自己挑了两部先看了看,但是发现看完之后,心里久久不能平
[机器智能与生物]研究生物智能的问题
comsci
生物
我想,人的神经网络和苍蝇的神经网络,并没有本质的区别...就是大规模拓扑系统和中小规模拓扑分析的区别....
但是,如果去研究活体人类的神经网络和脑系统,可能会受到一些法律和道德方面的限制,而且研究结果也不一定可靠,那么希望从事生物神经网络研究的朋友,不如把
获取Android Device的信息
dai_lm
android
String phoneInfo = "PRODUCT: " + android.os.Build.PRODUCT;
phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI;
phoneInfo += ", TAGS: " + android.os.Build.TAGS;
ph
最佳字符串匹配算法(Damerau-Levenshtein距离算法)的Java实现
datamachine
java 算法 字符串匹配
原文:http://www.javacodegeeks.com/2013/11/java-implementation-of-optimal-string-alignment.html------------------------------------------------------------------------------------------------------------
小学5年级英语单词背诵第一课
dcj3sjt126com
english word
long 长的
show 给...看,出示
mouth 口,嘴
write 写
use 用,使用
take 拿,带来
hand 手
clever 聪明的
often 经常
wash 洗
slow 慢的
house 房子
water 水
clean 清洁的
supper 晚餐
out 在外
face 脸,
macvim的使用实战
dcj3sjt126com
mac vim
macvim用的是mac里面的vim, 只不过是一个GUI的APP, 相当于一个壳
1. 下载macvim
https://code.google.com/p/macvim/
2. 了解macvim
:h vim的使用帮助信息
:h macvim
java二分法查找
蕃薯耀
java二分法查找 二分法 java二分法
java二分法查找
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月23日 11:40:03 星期二
http:/
Spring Cache注解+Memcached
hanqunfeng
spring memcached
Spring3.1 Cache注解
依赖jar包:
<!-- simple-spring-memcached -->
<dependency>
<groupId>com.google.code.simple-spring-memcached</groupId>
<artifactId>simple-s
apache commons io包快速入门
jackyrong
apache commons
原文参考
http://www.javacodegeeks.com/2014/10/apache-commons-io-tutorial.html
Apache Commons IO 包绝对是好东西,地址在http://commons.apache.org/proper/commons-io/,下面用例子分别介绍:
1) 工具类
2
如何学习编程
lampcy
java 编程 C++ c
首先,我想说一下学习思想.学编程其实跟网络游戏有着类似的效果.开始的时候,你会对那些代码,函数等产生很大的兴趣,尤其是刚接触编程的人,刚学习第一种语言的人.可是,当你一步步深入的时候,你会发现你没有了以前那种斗志.就好象你在玩韩国泡菜网游似的,玩到一定程度,每天就是练级练级,完全是一个想冲到高级别的意志力在支持着你.而学编程就更难了,学了两个月后,总是觉得你好象全都学会了,却又什么都做不了,又没有
架构师之spring-----spring3.0新特性的bean加载控制@DependsOn和@Lazy
nannan408
Spring3
1.前言。
如题。
2.描述。
@DependsOn用于强制初始化其他Bean。可以修饰Bean类或方法,使用该Annotation时可以指定一个字符串数组作为参数,每个数组元素对应于一个强制初始化的Bean。
@DependsOn({"steelAxe","abc"})
@Comp
Spring4+quartz2的配置和代码方式调度
Everyday都不同
代码 配置 spring4 quartz2.x 定时任务
前言:这些天简直被quartz虐哭。。因为quartz 2.x版本相比quartz1.x版本的API改动太多,所以,只好自己去查阅底层API……
quartz定时任务必须搞清楚几个概念:
JobDetail——处理类
Trigger——触发器,指定触发时间,必须要有JobDetail属性,即触发对象
Scheduler——调度器,组织处理类和触发器,配置方式一般只需指定触发
Hibernate入门
tntxia
Hibernate
前言
使用面向对象的语言和关系型的数据库,开发起来很繁琐,费时。由于现在流行的数据库都不面向对象。Hibernate 是一个Java的ORM(Object/Relational Mapping)解决方案。
Hibernte不仅关心把Java对象对应到数据库的表中,而且提供了请求和检索的方法。简化了手工进行JDBC操作的流程。
如
Math类
xiaoxing598
Math
一、Java中的数字(Math)类是final类,不可继承。
1、常数 PI:double圆周率 E:double自然对数
2、截取(注意方法的返回类型) double ceil(double d) 返回不小于d的最小整数 double floor(double d) 返回不大于d的整最大数 int round(float f) 返回四舍五入后的整数 long round