首页 > Windows开发 > 详细

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

时间:2020-08-28 14:55:21      阅读:220      评论:0      收藏:0      [点我收藏+]

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窗体中的控件 赋值或修改属性

原文:https://www.cnblogs.com/geen666/p/13577150.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!