c# 在自定义类中控制form窗体中的控件 赋值或修改属性
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(); }
c# 在自定义类中控制form窗体中的控件 赋值或修改属性的更多相关文章
- 问题-Delphi在多线程中使用其他窗体上的控件,报“尚未调用CoInitialize”解决方法
1.uses ActiveX; 2. procedure HLCJ.Execute;begin CoInitialize(nil); //要使用的控件 CoUninitialize; ...
- [译]- 6-1 排列窗体上的控件(Laying Out Widgets on a Form)
排列窗体上的控件(Laying Out Widgets on a Form) 中英文对照:form(窗体),layout(布局或者排列,意思是进行窗体上控件的排列的过程,如大小位置等) absolu ...
- WPF中不规则窗体与WindowsFormsHost控件的兼容问题完美解决方案
首先先得瑟一下,有关WPF中不规则窗体与WindowsFormsHost控件不兼容的问题,网上给出的解决方案不能满足所有的情况,是有特定条件的,比如 WPF中不规则窗体与WebBrowser控件的兼 ...
- WPF中不规则窗体与WebBrowser控件的兼容问题解决办法
原文:WPF中不规则窗体与WebBrowser控件的兼容问题解决办法 引言 这几天受委托开发一个网络电视项目,要求初步先使用内嵌网页形式实现视频播放和选单,以后再考虑将网页中的所有功能整合进桌面程序. ...
- 在2015中使用V12版本的ReportView控件,会导致winform窗体不能正常打开
在2015中使用V12版本的ReportView控件,会导致winform窗体不能正常打开,使用V10版本没问题,但2015中默认使用的就是V12版本,所以需要避免使用V12版本
- 通过winForm控制webForm的上传控件file的值
文件上传是日常开发中经常遇到的,文件上传用的最多的当然是上传控件file了,一个form表单,其中有一点就是form表单的enctype属性设置为multipart/form-data,呵呵,这个在所 ...
- iOS学习笔记1--在xcode6以上的版本中不使用storyboard以及部分控件使用
首先建立一个iOS新工程,删除工程自动建立的main.storyboard以及xib文件,并且在info.plist上删除这两个选项 然后在项目配置中将maninterface设置为空,将launch ...
- 重新想象 Windows 8.1 Store Apps (77) - 控件增强: 文本类控件的增强, 部分控件增加了 Header 属性和 HeaderTemplate 属性, 部分控件增加了 PlaceholderText 属性
[源码下载] 重新想象 Windows 8.1 Store Apps (77) - 控件增强: 文本类控件的增强, 部分控件增加了 Header 属性和 HeaderTemplate 属性, 部分控件 ...
- [转载]在网页中插入media,RealPlayer等控件
[转载]在网页中插入media,RealPlayer等控件 (2012-11-02 20:27:43) 转载▼ 标签: 转载 原文地址:在网页中插入media,RealPlayer等控件作者:Mo ...
- jQuery学习笔记(在js中增加、删除及定位控件的操作)
代码内容很多都是从amazeui直接copy过来的,先声明,请不要说在下抄袭- - <!-------------------- HTML代码 ----------------------> ...
随机推荐
- Linux基础守护进程、高级IO、进程间通信
守护进程(Daemon) 前言 Linux常用于服务器,程序通常不运行在前台.运行于前台的进程和终端关联,一旦终端关闭,进程也随之退出.因为守护进程不和终端关联,因此它的标准输出和标准输入也无法工作, ...
- LFU 的设计与实现
LFU 的设计与实现 作者:Grey 原文地址: 博客园:LFU 的设计与实现 CSDN:LFU 的设计与实现 题目描述 LFU(least frequently used).即最不经常使用页置换算法 ...
- Spring MVC学习(一) Spring MVC基本介绍以及配置
Spring MVC学习(一) Spring MVC基本介绍以及配置 摘要:这篇笔记是对于Spring MVC的第一部分的学习中的整理,主要记录了Spring MVC的基础知识以及配置一个简单的S ...
- [NOIP2017 普及组]跳房子 【题解】
题目背景 NOIP2017 普及组 T4 题目描述 跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一. 跳房子的游戏规则如下: 在地面上确定一个起点,然后在起点右侧画 \(n ...
- Keepalived高可用集群部署
KeepAlived 目录 KeepAlived KeepAlived安装 KeepAlived部署 准备工作 主备模式 节点配置 验证 正常状态 故障 故障恢复 1+N(一主多备)模式 节点配置 验 ...
- [Codeforces Round #794 (Div. 2)] D. Linguistics
我是什么东西艹艹艹 <我离正解只差个sort> 首先,观察字符串,可以发现:若存在形似\(AA--BB\)或\(BB--AA\)等有两个相同的字符挨在一起的情况,则我们在它们中间放一块隔板 ...
- Hash table集合-练习_计算一个字符串中每个字符出现次数
Hash table集合 java.util.Hashtable<K,V>集合implements Map<K,V>接口Hashtable:底层也是一个哈希表,是一个线程安全的 ...
- 包装类总结-Collection集合概述
包装类总结 1.基本数据类型对应的包装类byte Byteshort Shortint Integerlong Longfloat Floatdouble Doublechar Characterbo ...
- 中断ISR技术架构
架构一 ISR采用立即响应思路,技术架构如下图: 优点:简单. 缺点:处理性能不高,中断优先级规划性不高(仅仅区分CPU的32个优先级别,针对不同类型中断优先级不支持). 选型:对于硬件支持多级中断的 ...
- http协议的请求方式
协议 协议,就是通信双方去定义的一堆数据格式,并且共同遵守的标准. HTTP协议 HTTP是一个基于TCP/IP通信协议来传递数据,包括html文件.图像.结果等,即是一个客户端和服务器端请求和应答的 ...