C#委托及线程操作

简介: C#委托及线程操作

委托

声明委托

namespacetimer11221{
publicpartialclassForm1 : Form    {
publicForm1()
        {
InitializeComponent();
        }
//声明委托publicdelegatevoidSetFormTextDelegate();
    }
}

创建委托对象

namespacetimer11221{
publicpartialclassForm1 : Form    {
publicForm1()
        {
InitializeComponent();
        }
//声明委托publicdelegatevoidSetFormTextDelegate();
//创建委托对象privateSetFormTextDelegateSetFormText;
    }


创建委托方法

namespacetimer11221{
publicpartialclassForm1 : Form    {
publicForm1()
        {
InitializeComponent();
        }
//声明委托publicdelegatevoidSetFormTextDelegate();
//创建委托对象privateSetFormTextDelegateSetFormText;
//创建委托方法privatevoidExcuteMethod()
        {
Form2form2=newForm2();
form2.Show();
form2.Text="多线程测试";
        }
    }
}

委托的绑定及使用

 这里实现的是在Form1的窗口里面,按下按钮显示Form2窗口,并且修改Form2的Text属性的内容:

image.png

image.png


首先需要为按钮创建点击事件、绑定委托、调用委托:

namespacetimer11221{
publicpartialclassForm1 : Form    {
publicForm1()
        {
InitializeComponent();
        }
//声明委托publicdelegatevoidSetFormTextDelegate();
//创建委托对象privateSetFormTextDelegateSetFormText;
//创建委托方法privatevoidExcuteMethod()
        {
Form2form2=newForm2();
form2.Show();
form2.Text="多线程测试";
        }
privatevoidbutton1_Click(objectsender, EventArgse)
        {
//绑定委托this.SetFormText=ExcuteMethod;
//调用委托this.Invoke(SetFormText);
        }
    }
}

最终实现效果

image.png

相关文章
|
10天前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
|
2月前
|
Java 调度 C#
C#学习系列相关之多线程(一)----常用多线程方法总结
C#学习系列相关之多线程(一)----常用多线程方法总结
|
2月前
|
安全 编译器 C#
C#学习相关系列之多线程---lock线程锁的用法
C#学习相关系列之多线程---lock线程锁的用法
|
2月前
|
C#
C#学习相关系列之多线程---ConfigureAwait的用法
C#学习相关系列之多线程---ConfigureAwait的用法
|
2月前
|
C#
C#学习相关系列之多线程---TaskCompletionSource用法(八)
C#学习相关系列之多线程---TaskCompletionSource用法(八)
|
2月前
|
Java C#
C#学习系列相关之多线程(五)----线程池ThreadPool用法
C#学习系列相关之多线程(五)----线程池ThreadPool用法
|
2月前
|
并行计算 安全 Java
C# .NET面试系列四:多线程
<h2>多线程 #### 1. 根据线程安全的相关知识,分析以下代码,当调用 test 方法时 i > 10 时是否会引起死锁? 并简要说明理由。 ```c# public void test(int i) { lock(this) { if (i > 10) { i--; test(i); } } } ``` 在给定的代码中,不会发生死锁。死锁通常是由于两个或多个线程互相等待对方释放锁而无法继续执行的情况。在这个代码中,只有一个线程持有锁,且没有其他线程参与,因此不
106 3
|
2月前
|
C#
C#学习系列相关之多线程(二)----Thread类介绍
C#学习系列相关之多线程(二)----Thread类介绍
|
2月前
|
Java C#
C#学习相关系列之多线程(七)---Task的相关属性用法
C#学习相关系列之多线程(七)---Task的相关属性用法