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

  在一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

时间: 2024-08-04 10:22:28

菜鸡学习笔记--WinForm控件的异步调用的相关文章

十三、Android学习笔记_Andorid控件样式汇总

<!-- 设置activity为透明 --> <style name="translucent"> <item name="android:windowBackground">@color/translucent</item> <item name="android:windowIsTranslucent">true</item> <item name="an

Android学习笔记_75_Andorid控件样式汇总

<!-- 设置activity为透明 --> <style name="translucent"> <item name="android:windowBackground">@color/translucent</item> <item name="android:windowIsTranslucent">true</item> <item name="an

iOS学习笔记—— UItableView 控件的简单使用

UITableView 可以说是iOS开发中最常用的控件,除了游戏之外,几乎所有的应用中独会出现他的身影. 使用UITableView控件需要遵守两种协议 UITableViewDelegate和 UITableViewDataSource. 常用方法如下: 1.返回(每个分区)表单元个数(行数) - (NSInteger) tableView: (UItableView *) tableVIew numberOfRowsInSection: (NSInteger)section 2.返回表单元

Python:GUI之tkinter学习笔记1控件的介绍及使用

相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Message Text Listbox Checkbutton Radiobutton Scale Scrollbar 首发时间:2018-03-04 16:39 Python的GUI各有各特点. 由于只是轻微涉及GUI开发,所以就以轻量级的tkinter来学习. tkinter的使用: 1.模块的导入

android菜鸟学习笔记12----Android控件(一) 几个常用的简单控件

主要参考<第一行代码> 1.TextView: 功能与传统的桌面应用开发中的Label控件相似,用于显示文本信息 如: 1 <TextView 2 3 android:layout_width="wrap_content" 4 5 android:layout_height="wrap_content" 6 7 android:textColor="#0000ff" 8 9 android:textSize="40sp

ios 学习笔记之控件属性

1.文本框 设置密码属性:Secure Text Entry 勾选; 设置文本框带清除属性: Clear Button =Is always visible;  默认是不带清除属性:Never appears 设置文本框默认带出文字属性:Placeholder=用户自定义输入; 设置文本框键盘用户输入完成隐藏代码: [self.text resignFirstResponder];//适用于单个文本框输入完成时隐藏 [self.view endEditing:YES];//适用于全部文本框输入完

iOS学习笔记—— UIPickerView 控件的简单使用

UIPickerView 是iOS常用的控件之一,它通过轮转界面提供一系列多值选项,它向用户展示信息,也能收集用户输入.下面是一个普通的UIPickerView控件. 使用UIPickerView控件需要遵守两种协议,一种是UIPickerViewDelegate,另一种是UIPickerViewDataSource. UIPickerViewDelegate协议的方法有: 1.  -(NSString *) pickerView: (UIPickerView * )pickerView tit

android菜鸟学习笔记14----Android控件(三) ListView的简单使用

MVC模式: MVC的基本原理就是通过Controller连接View和Model.当View中所显示的数据发生变化时,会通知Controller,然后由Controller调用Model中的相关方法执行相应的数据修改操作.反之,当Model中的数据发生变化时,也会通知Controller,由Controller通知View更新显示内容.如此一来,就使得数据部分与视图部分相分离,任何一方发生改变都不会影响到另一方. 而在android中,MVC的一个常见应用就是ListView显示数据.V代表的

IOS开发学习笔记018-UIButton 控件

1.移动 2.动画 3.缩放 3.旋转 4.简化代码 5.总结 UIButton 的两种状态 normal highlighted  1.移动 OC语法规定:不允许直接修改某个对象中结构体属性的成员. 1 // 获取image控件的frame 2 CGRect rect = self.btnImage.frame; 3 //self.btnImage.frame.origin.y = 20; // 不能直接修改 4 // 更改Y的值,减小,如果减小到5则一直位5 5 rect.origin.y