菜鸡学习笔记--winform控件的异步调用

author author     2022-08-04     148

关键词:

  在一WinForm项目中,除了窗口类之外的其他类要直接使用窗口控件是比较困难的,因为控件对象不是静态的(static),但是又不能去Designer去修改空间的属性。而且还有需要控件值自动改变的情况。此时需要运用到事件(Event)的使用

例:

在项目适当位置任意声明一个委托,参数类型与控件一致

public delegate void TestDelegate(string msg);


声明事件,并且定义事件访问器:

public event TestDelegate TestEvent{
{
    add
    {
        TestEvent += value;
    }
    remove
    {
        TestEvent -= value;
    }
}

 

给事件绑定控件异步调用的方法:

TestEvent += txtMethod;

public void txtMethod(string msg)//控件异步调用的具体方法
{
    TestDelegate del = delegate(string m)
    {
        txtContent.Text += m;
    }
    txtContent.Invoke(del, msg);
}


当触发事件TestEvent时此txt控件就能输出msg的值:

string msg = "This is a Test";
if(TestEvent != null)//触发事件
    TestEvent(msg);

初次学习,还得多加练习。

没错就是从张子阳老师的网络编程那篇文章里学到的:http://www.cnblogs.com/JimmyZhang/archive/2008/09/07/1286299.html

 

xitrum学习笔记09-异步响应

Xitrum不会自动发送默认响应,必须调用respondXXX方法发送响应。如果没有调用respondXXX,Xitrum会保持HTTP连接,可以过后调用respondXXX。调用channel.isOpen来检查HTTP连接是否还处于打开状态。还可以使用addConnectionClosedListener方法,定义... 查看详情

c#winform中异步执行webrequest后返回值

现在有这样一个东东一个窗体上有一个label控件text初始值为0,在代码中实现webrequest的BeginGetResponse()方法,如何在每完成一次uri请求后页面上的label控件text属性值加一,循环n次,要求在提交过程中不能影响绘制wingform线程如果异... 查看详情

winform跨线程访问控件异常

WinForm跨线程访问控件异常最近做了个WinForm的小项目,遇到个简单的问题记录下。需求:点击”下载“,显示正在下载,下载完后更新状态为”ready“(要求用多线程,避免前台卡死)。做法新建一个线程,在新线程中下在更新... 查看详情

winform与wpf异步修改控件属性

Winform方式:    if(this.InvokeRequired)            {           &nbs 查看详情

Winform 中的键盘预览调用 Wpf 用户控件

】Winform中的键盘预览调用Wpf用户控件【英文标题】:KeyboardpreviewinWinformcallingaWpfUsercontrol【发布时间】:2021-02-2814:46:28【问题描述】:我有一个Winform应用程序,我从中调用WpfUsercontrol,它实际上是一个Viewport3D,Winform应用程序在... 查看详情

winform异步初始化usercontrol的问题

...到一个非常奇怪的问题,问题的描述如下:1.新建了一个winform窗体2.新建一个UserControl3.UserControl中添加一个panel和一个checkbox,checkbox是panel的子控件,panel是userControl的子控件(checkbox和panel都是自己重新封装的)3.在窗体Shawn事件中起... 查看详情

winform基础控件-例子学习

1、如图实现整数计算器ComboBox控件:Items属性:添加集合中的项。this.comoper.Items.AddRange(newobject[]{"+","-","x","/"});TextBox:对TextBox的输入文本有限制:1)只能输入数值型(整数和小数);2)小数点不能开头,小数只能输入一位;3)不... 查看详情

如何在winforms的WebBrowser控件中调用javascript?

】如何在winforms的WebBrowser控件中调用javascript?【英文标题】:HowtocallJavaScriptinsideaWebBrowsercontrol?【发布时间】:2015-01-3021:26:33【问题描述】:我想像这样调用javascript函数“Goto”:javascript:Goto(\'DM_NEW_OBJECT.ASPX?DM_CAT_ID=2063&DM_P... 查看详情

js-es6学习笔记-generator函数的应用

1、异步操作的同步化表达Generator函数的暂停执行的效果,意味着可以把异步操作写在yield语句里面,等到调用next方法时再往后执行。这实际上等同于不需要写回调函数了,因为异步操作的后续操作可以放在yield语句下面,反正要... 查看详情

窗体调用ocx的使用方法(mfc,winform)

...用这个ocx控件。第一步:创建一个MFC的对话框工程(其实winform也是一样的)第二步:在工具箱中常规处右键选择项,在COM选项中找到我们生成的OCX控件,点击确定。这个时候我们会看到在常规处出现了我们的控件第三步:拖放我们... 查看详情

wpf中调用winform用户控件的方法

wpf做一个程序,里边添加一个winform用户控件,有个方法叫比如说aaa,怎么在wpf的C#代码里调用这个aaa,声明一个这个控件再调用出错。。参考技术AWPF的MainWindow的代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usin... 查看详情

winform框架中内容的学习(代码片段)

 一.Winform框架中的内容WinForm(一)WinForm入门与基本控件使用_阿阿阿安的博客-CSDN博客_winform winform控件及其各个属性_weixin_30907935的博客-CSDN博客【(1)WindowState属性:用来获取或设置窗体的窗口状态。取值有... 查看详情

如何在没有窗体或控件的情况下在 Winform 应用程序中调用 UI 线程?

】如何在没有窗体或控件的情况下在Winform应用程序中调用UI线程?【英文标题】:HowtoinvokeUIthreadinWinformapplicationwithoutaformorcontrol?【发布时间】:2021-05-2811:00:49【问题描述】:我创建了一个托盘应用程序来控制一些硬件组件。如... 查看详情

c#winform中调用wpf

原文:C#winform中调用wpf在WinForm中是可以使用WPF中的控件(或者由WPF创建的自定义控件)1.新建一个winform项目;2.在解决方案上新建一个wpf项目;如图:如果有如下错误,就在winform中的引用添加System.xaml的引用即可: 错误1类型&... 查看详情

学习分享笔记

ajax的概念就是页面互动无刷新的效果。例如:你做一个注册页面,因为用户一般都是唯一的,这个时候你就可以选择一个比较人性化的做法,就是使用AJAX技术,当填完信息鼠标移开txtUserName这个文本框的时候触发一个事件,然后... 查看详情

学习winform的控件datagridview的一般使用(代码片段)

先上学习测试的一些截图1:获取多个控件上面的值(checkbox,combobox,textbox,radiobutton)2:获取到选择行的主键ID的value,方便我们进一步CURD3:获取选择一行的数据以及一行是多少列4:绑定显示自定义的列头名称5:选中一行的属性设置操... 查看详情

多线程编程学习笔记——async和await

接上文多线程编程学习笔记——async和await(一)三、  对连续的异步任务使用await操作符      本示例学习如何阅读有多个await方法方法时,程序的实际流程是怎么样的,理解await的异步调用。1... 查看详情

winform的窗体控件可以用线程直接调用吗

默认地,不允许其他线程直接存取(调用)Winform中的控件。要从其他线程中存取Winform控件,可采用以下两种方法之一:方法1)不进行线程安全的检查或者方法2)通过委托的方式代码如下所示public partial class Form1 ... 查看详情