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");
  • 相关阅读:
    JS,Jquery获取各种屏幕的宽度和高度
    mysql存储html代码之导出后无法导入问题
    php之简单socket编程
    php单点登录SSO(Single Sign On)的解决思路
    php读取邮件
    YII框架的依赖注入容器
    YII框架的行为
    YII框架的事件机制
    YII框架的模块化技术
    mysql的索引
  • 原文地址:https://www.cnblogs.com/janeaiai/p/5195036.html
Copyright © 2011-2022 走看看