控件的invoke和beginInvoke方法】的更多相关文章

System.Windows.Forms.Timer 的timer是在主线程上执行的,因此在timer的tick事件中操作界面上的控件不会发生线程的安全性检测. Control的invoke和begininvoke方法的比较: invoke方法:使用Invoke完成一个委托方法的封送,就类似于使用SendMessage方法来给界面线程发送消息,是一个同步方法. private delegate void InvokeDelegate(); private void InvokeMethod()…
BackgroundWorker是·net里用来执行多线程任务的控件,它允许编程者在一个单独的线程上执行一些操作. 可以通过编程方式创建 BackgroundWorker,也可以将它从"工具箱"的"组件"选项卡中拖到窗体上. 如果在 Windows 窗体设计器中创建 BackgroundWorker,则它会出现在组件栏中,而且它的属性会显示在"属性"窗口中. 常用方法 RunWorkerAsync 开始执行后台操作.引发 DoWork 事件. p…
转自http://www.cppblog.com/baby-fly/archive/2010/04/01/111245.html 一.为什么 Control类提供了 Invoke和 BeginInvoke机制? 关于这个问题的最主要的原因已经是 dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己. 1. windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵.这个消息泵让 windows程序生生不息. Windows…
C#中的控件和delegate委托方法都有Invoke和BeginInvoke方法,控件的这两个方法网上讲得很多, 这里就不多说了,下面讲一下delegate的Invoke和BeginInvoke方法. Invoke()是一个同步的方法, myDelegate d = new myDelegate(Process); d.Invoke(); Console.WriteLine("Thread!!"); Thread!!消息只有在Process方法执行完之后才会打印出来. BeginIn…
一.  多线程访问winform控件出现异常的解决方法 1.  问题描述<1> 如果创建某控件的线程之外的其他线程试图调用该控件,则会引发一个 InvalidOperationException异常.(1) 并提示消息:“从不是创建控件 control name 的线程访问它.” <2> 默认情况下,winform控件只能由创建该控件的线程调用 .(1) 如果要在新的线程中调用该控件,则需要使用控件的invoke方法来进行. ****************************…
相信大家对highchats这个图表控件并不陌生,最近在项目中用到它,但是某些字段需要显示为小数点,顾查找资料文档发现下面两个方式可以实现: 初始化时候添加如下两个参数 tooltip:{    formatter:function(){    return''+this.point.name+': '+Math.round(this.percentage)+' %';    }},plotOptions:{       pie:{       allowPointSelect:true,   …
C#中的BackgroundWorker控件+Delegate.Invoke (委托同步调用) 简单代码,记录一下.一个BackgroundWorker控件  backgroundWorkerRefresh +listview控件 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Tex…
1.返回事件 (1.返回silverlight页面,2.返回web页面) private void button_ClickBack(object sender, RoutedEventArgs e)        { 1.返回silverlight页面: this.Content = new BeginControlChart(sTNameClick, strReportDate, false);//增加个参数表名 2.返回web页面 HtmlWindow html = HtmlPage.Wi…
一.构造方法ControlChart 1.前台页面控件赋值 //时间下拉框赋值,下拉框赋选定值                for (int ii = DateTime.Today.Year; ii >= 1980; ii--)                {                    string item = string.Format("{0}年", ii.ToString());                    this.dateYear.Items…
原文:屏蔽webbrowser控件右键的一种方法 Option ExplicitPrivate Declare Sub ZeroMemory Lib "KERNEL32" Alias "RtlZeroMemory" (dest As Any, ByVal numBytes As Long)Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA&quo…
尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通过“添加引用”的方式将它们纳入到项目中,然后就可以像使用自己的类一样方便的使用它们了.但是,有些Dll库(OCX)文件是需要注册到Windows注册表后才能正常添加和使用的.本文介绍两种为Dll库(OCX)自动注册的方法,为大家提供参考. 首先,大家都知道在Windows的“运行”中,输入“Regs…
原文:WPF编程,通过Double Animation动态更改控件属性的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/87251422 DoubleAnimation类指定起始值(From="30").终点值(To="300").时间(Duration="3"),以及动画结束应该如何(FillBehavior="Stop&qu…
原文:WPF编程,通过[帧]动态更改控件属性的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/87249998 WPF提供了一种基于帧的动画实现方式,由CompositionTarget类来完成. WPF会在每次界面刷新时调用该回调函数. CompositionTarget的刷新率与窗体保持一致,因此很难人工控制动画的快慢.  1.前台 <Grid> <Grid.RowDefin…
原文:Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全 前面简单学习了一些Android UI的一些基础知识,那么接下来我们一起来详细学习Android的UI界面基本组件. 一.认识TextView 我们知道前面学习的HelloWorld应用程序中就是使用的TextView来显示一个文本,接下来首先一起来学习TextView的使用方法. TextView的作用就是在界面上显示文本.TextView直接继承了 View,是EditText.Button…
这两个方法最主要的区别就是一个是同步,一个是异步,即会阻塞线程,那么阻塞哪个线程呢?我们用代码来分析(工具是VS2010) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; usin…
一 .combobox 属性.事件.方法公共属性 名称 说明 AccessibilityObject 获取分配给该控件的 AccessibleObject. AccessibleDefaultActionDescription 获取或设置控件的默认操作说明,供辅助功能客户端应用程序使用. AccessibleDescription 获取或设置辅助功能客户端应用程序使用的控件说明. AccessibleName 获取或设置辅助功能客户端应用程序所使用的控件名称. AccessibleRole 获取…
主要功能 跨线程获取控件值,以DataGridView为例,结合BeginInvoke和EndInvoke使用 一行代码 object cellValue = dataGridView.ExInvokeGetCellValue(0,1); 代码封装 /// <summary> /// DataGridView获取单元格值 /// </summary> /// <param name="dataGridView"></param> ///…
/// <summary> /// 窗体加载 /// </summary> private void JS_Load(object sender, EventArgs e) { this.axWebBrowser1.Navigate("www.baidu.com"); this.axWebBrowser1.DocumentComplete += axWebBrowser1_DocumentComplete; } /// <summary> /// W…
这里用的组合是:apex:commandLink  + apex:actionFunction + apex:outputPanel 这里的 apex:commandLink 和 apex:actionFunction 都可以通过 action 来指定Ajax所回调的后台方法, 方案一: 其中 apex:commandLink 充当直接回调后台方法的控件,  用 oncomplete 指定执行完后台方法之后所调用的 actionFunction 其中 apex:actionFunction 的 …
jquery dialog为我们提供了非常漂亮实用的对话框,比单调的alert.confirm.prompt好用很多. 在使用jquery与.net共同开发时,直接调用jquery dialog的open后,服务器端控件全部失效了,不能执行相应的后台代码.只是源于jquery默认把dialog添加到body中,而不是原来所在的服务器端的form中了 解决方法: 1.可以调用dialog的open前,$("#dialog").parent().appendTo("form:fi…
将具有 3.5 版图表控件的 ASP.NET 3.5 网站升级到 ASP.NET 4 需要更改 web.config 和注册指令 将具有 3.5 版图表控件的 ASP.NET 3.5 网站升级到 ASP.NET 4 将导致在生成时出现以下错误: 错误 1 类型“System.Web.UI.DataVisualization.Charting.Chart”同时存在于“c:\Windows\assembly\GAC_MSIL\System.Web.DataVisualization\3.5.0.0_…
在学习android的动画时,发现所谓的tween动画只是改变绘制效果并不改变原控件的位置时是颇为失望的,虽然3.0之后已经有了property animation,但是由于要兼容老版本的android机,这就意味这很多的效果事实上是不可能实现或着很难实现..不过最近在实践和大神的博客中学习时,发现其实代码是可以设置控件的样式的,这就意味着可以通过layoutparams(必须选用父级控件的内部类layoutparams)动态添加控件的同时为其指定样式.更方便的是利用onwindowsfocus…
系统环境:Windows 7软件环境:Visual C++ 2008 SP1本次目的:为对话框设置背景颜色.控件颜色 既然MFC对话框不好开发,那么现在我们来开始美化我们的对话框.为对话框设置背景颜色.控件颜色等等. 对话框背景颜色: 网上流传有四种方法(可能还不止),在VC++2008SP1测试后,发现只有三种可以使用了,其中第一种被废弃了.以下是四种方法: 方法一 (失效):调用CWinApp类的成员函数SetDialogBkColor来实现.       其中函数的第一个参数指定了背景颜色…
开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定. 1) 简单数据绑定 简单的数据绑定是将用户控件的某一个属性绑定至某一个类型实例上的某一属性.采用如下形式进行绑定:引用控件.DataBindings.Add("控件属性", 实例对象, "属性名", true); 2) 复杂数据绑定 复杂的数据绑定是将一个以列表为基础的用户控件(例如:ComboBox.ListBox.ErrorProvider.DataGridView等控件)绑…
有时我们需要在WebBrowser控件中嵌入了网页,然后通过html页面调用后台方法,如何实现呢?其实很简单,主要有三步: 在被调用方法所属的类上加上[ComVisible(true)]标签,意思就是当前类可以以com组件的形式供外部调用. 在WebBrowser控件中设置可被html页面调用的类即:webBrowser1.ObjectForScripting = this.前端即可通过window.external访问this对象 html页面调用后台方法:window.external.方法…
一.我们先在XML当中自定义一个webview(Second_layout.xml) 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto…
做Qt开发的会知道QLineEdit是默认没有clicked事件的,但是Qt有很好的一套信号/槽机制,而且Qt是基于C++面向对象的思想来设计的,那么我们就很容易通过自己定义一些类,重写QLineEdit的一些方法去实现没有的方法,比如clicked事件.本人就以QLineEdit 添加clicked事件来说明. Qt里面有个关键字emit,这个关键字意思就是触发一个信号,具体emit更详细的使用方法,可以百度,本文不做具体详解,只需知道emit是触发一个信号的方法即可. 下面我们就开始讲如何给…
在cell的代理方法里:cellForRowAtIndexPath btn.tag = indexPath.section *100 + indexPath.row; [cell.exitPersonBtn addTarget:self action:@selector(exitPersonBtnClick:) forControlEvents:UIControlEventTouchUpInside]; btn点击后触发的方法里,通过tag值获得cell里对应的控件 GroupMemberDat…
1.作用:用于显示Node结点的分层列表.2.添加到控件箱菜单命令:工程 | 部件,在部件对话框中选择:Microsoft Windows Common Controls 6.03.TreeView控件的属性(1)属性对话框用鼠标右键单击TreeView控件,在弹出式菜单中选择属性,进入属性设置对话框,该对话框分为通用.字体.图片三个选项卡,如图8.6所示. ①样式(Style):返回或设置在Node结点之间显示的线样式,如表8.6所示. ②鼠标指针(MousePoint):可选择不同鼠标样式,…
注意注意!ItemStatus 在VS2010的CUIT里面是没有的!需要2013以上的版本才可使用. 公司新程序使用WPF制作,但使用CodedUI Test进行自动化测试的时候,很多控件抓取不到其属性. 比如某输入框的逻辑是当输入错误值的时候,BorderBrush为红色. 当使用CodedUI Test测试发现将其放到WpfEdit并没有BorderBrush的这个属性,无法进行行为判断. 参考 How To: Validate background color or other cust…