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

本文介绍了一种解决Form加载导致界面卡顿的方法:通过使用用户控件替代Form加载。文章详细阐述了用户控件的创建过程及两种集成方式,并提供了如何在用户控件与窗口间传递数据的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    一开始用的是把一个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");

 

转载于:https://www.cnblogs.com/janeaiai/p/5195036.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值