c# 在自定义类中控制form窗体中的控件 赋值或修改属性

首先在 自定义类 的外面  声明一个 委托模块

  //声明一个委托模块 用来改变form1 窗体中的控件值
public delegate void setStatusDelegate(string requestInfo);//参数的类型可以根据自己的需求变更 int string 或其他

然后在类里面,新建一个委托模块的实例

 //定义一个委托的实例方法
public static setStatusDelegate setStatusDelegate;

然后在其他函数中调用它,并把需要传送的参数值 赋值给委托模块的参数

 //调用委托 把requestInfo.body 放进委托里
if (UnknowRequest.setStatusDelegate != null)
{
UnknowRequest.setStatusDelegate(requestInfo.Key);//把requestInfo.Key传给了委托模块的参数
UnknowRequest.setStatusDelegate(requestInfo.Body);//把requestInfo.Body传给了委托模块的参数
rstr += "key:"+ requestInfo.Key + ";body:"+ requestInfo.Body + "";
}

我们还要在窗体函数中做相应的赋值处理

新建一个函数用来调用新建类中的委托,并接收委托的参数值,把值赋给控件,本例代码中把值add到了listview中去

        //创建一个函数,用来调用委托 接收到的无法解析的数据
private void getUnknowRequest()
{
//调用委托 并把委托中的值添加到listview
//using SupperSocketDemo.Command; 别忘记引用
UnknowRequest.setStatusDelegate = new setStatusDelegate((i) =>
{
this.Invoke(new setStatusDelegate((requestInfo) =>
{
this.lvlist.Items.Add("非命令数据 " + requestInfo.ToString() + " "+DateTime.Now.ToString()+"");
}), i);
}); }

最后在窗体的load事件中调用一下这个函数,就可以了。

private void Form1_Load(object sender, EventArgs e)
{
//调用委托 获取非命令数据的解析
getUnknowRequest(); }

最新文章

  1. 利用ipython实现多线程
  2. 数据库递归查询-CTE
  3. Android Java执行Shell命令
  4. Python模块(scapy)
  5. Codeforce Round #226 Div2
  6. Spring入门(5)-自动装配Bean属性
  7. iOS 深复制&浅复制
  8. js验证手机号码 ,昵称,密码
  9. Vnstat: 简单实用的网络流量统计工具
  10. android 中文 api (72) —— BluetoothSocket[蓝牙]
  11. shell重定向(大于号,小于号,左右,2>&1,&)
  12. Combination Sum Two
  13. 在linux(centos)系统安装redis教程
  14. excel打开txt格式文件
  15. C++标准模板类库(STL)之queue初步
  16. Helm介绍
  17. 神州数码OSPF基于区域认证(简单、MD5认证)
  18. LeetCode--005--最长回文子串(java)
  19. 谈谈AsmJit
  20. js简单Base64编码解码

热门文章

  1. Java基础之常用类(String类)
  2. 6、发送验证码功能(Redis)
  3. vivo 故障定位平台的探索与实践
  4. 我们来汉化IntelliJ IDEA
  5. [WPF]限制程序单例运行
  6. [Untiy]贪吃蛇大作战(四)——游戏主界面
  7. 完整工作流整合方案,自定义配置,Java+Vue+Activiti@附配套文档
  8. 线程、GIL、协程
  9. Kubernetes(k8s)控制器(四):ReplicaSet
  10. CC1链详解