• c#winform制作用户控件+传值给用户控件


        一开始用的是把一个form铺到另一个form上,如下图代码,后来发现这样很卡很卡,,界面移动或者调整都会卡不回来。

                //BasicIn bi = new BasicIn(a);
                //bi.TopLevel = false;//把form当控件加载必须
                //splitContainer3.Panel1.Controls.Clear();
                //splitContainer3.Panel1.Controls.Add(bi);
                //bi.Dock = DockStyle.Fill;
                //bi.BringToFront();
                //this.ds = bi;
                //bi.Show();

       所以改用用户控件。

       首先,用户控件的制作步骤

       1,新建一个项目,文件》新建》项目。

       2,添加》新建项》用户控件。

       3,设置你需要的代码。

       4,运行程序。在debug文件夹下找相应的.dll文件。

       其次,想要使用用户控件有两种方法

        1,找到.dll文件。在工具箱右击》选择项》.NET FRAMEWORK组件》浏览,找到.dll文件添加进来,工具箱就会自动显示用户控件,直接拖拽就好。缺点:想要修改用户控件就要重新生成dll文件,麻烦。

        2,右击你自己项目的解决方案》添加》现有项,把用户控件添加进来,边改边使用。

       好了。

       如果想要把窗口的值传给用户控件,

       1,get,set方法.

          用户控件:

           public static string tipdou = null;
    
            public void SetLab(string _tipdou)
            {
                tipdou = _tipdou;
                showData(tipdou);
            }
    
            public static string GetLab()
            {
                return tipdou;
            }

       窗口:

          userControl11.SetLab("a");

       2,方法参数传值,,,

       用户控件:

    public void addData(string b)
    {
    sarrry = MyStr.Split(new char[] { '*' }, 7, StringSplitOptions.None);
    if (b == "style")
    {

    this.addDatarow();
    }
    if (b == "color")
    {
    this.addDatarow1();
    }

    if (b == "size")
    {
    this.addDatarow2();

    }
    }

        窗口:

         

       userControl11.addData("a");
  • 相关阅读:
    nginx并发数设置_Nginx Ingress 高并发实践
    推荐一个国人开源的推荐系统
    异步并发利器:实际项目中使用CompletionService提升系统性能
    JDK中CompletableFuture类
    mysql日志redo log、undo log、binlog
    <a>标签下载文件 重命名失败 download 无效
    nginx geo黑名单
    夜莺微信报警-V3
    分布式事务的学习
    php实现AES/CBC/PKCS5Padding加密解密(又叫:对称加密)
  • 原文地址:https://www.cnblogs.com/janeaiai/p/5195036.html
Copyright © 2020-2023  润新知