zoukankan      html  css  js  c++  java
  • 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");
  • 相关阅读:
    轮播图案例
    如何使用google等一系列搜索引擎?
    开源项目weiciyuan运行前gradle调试过程记录
    onRetainNonConfigurationInstance方法状态保存
    关于stickybroadcast
    关于Bundle对象的思考
    android中finish和system.exit方法退出的区别
    关于RAW 和 ASSEST文件夹的差异
    图片缓存核心类LruCache
    Android常用开源库集合【持续更新】
  • 原文地址:https://www.cnblogs.com/janeaiai/p/5195036.html
Copyright © 2011-2022 走看看