用户控件、动态创建添加

使用用户控件:

项目右键添加,用户控件,选择用户控件cs

在生成的项目中用设计编辑,点击菜单栏生成,生成解决方案,然后用户控件就可以使用了

制作简单的qq窗口,根据数据库自动添加数据

制作用户控件:

实体类:(qq,haoyou)

qq:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace QQ.App_Code
{
    public class qq
    {
        public string qqnumber { get; set; }
        public string password { get; set; }
        public string nickname { get; set; }
        public string content { get; set; }

    }
}

haoyou:包含两个属性扩展,使显示昵称和个性签名

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace QQ.App_Code
{
    public class haoyou
    {
        SqlConnection conn = null;
        SqlCommand cmd = null;
        public haoyou()
        {
            conn = new SqlConnection("server=.;database=lianxi0928;user=sa;pwd=123");
            cmd = conn.CreateCommand();
        }

        public string qqnumber { get; set; }
        public string friendqqnumber { get; set; }

        public string fnickname
        {
            get
            {
                string end = "null";
                cmd.CommandText = "select*from qq where [email protected]";
                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("@a",friendqqnumber);
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    dr.Read();
                    end = dr["nickname"].ToString();

                }
                conn.Close();
                return end;
            }
        }

        public string fcontent
        {
            get
            {
                string end = "null";
                cmd.CommandText = "select*from qq where q[email protected]";
                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("@a", friendqqnumber);
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    dr.Read();
                    end = dr["content"].ToString();

                }
                conn.Close();
                return end;
            }
        }
    }
}

数据访问类:haoyoudata

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace QQ.App_Code
{
    public class haoyoudata
    {
        SqlConnection conn = null;
        SqlCommand cmd = null;

        public haoyoudata()
        {
            conn = new SqlConnection("server=.;database=lianxi0928;user=sa;pwd=123");
            cmd = conn.CreateCommand();
        }
        public List<haoyou> select(string qqnb)
        {
            List<haoyou> hlist = new List<haoyou>();
            cmd.CommandText = "select*from haoyou  where [email protected]";
            cmd.Parameters.Clear();
            cmd.Parameters.AddWithValue("@a",qqnb);
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    haoyou hy = new haoyou();
                    hy.qqnumber = dr["qqnumber"].ToString();
                    hy.friendqqnumber = dr["friendqqnumber"].ToString();

                    hlist.Add(hy);
                }
            }

            conn.Close();
            return hlist;
        }
    }
}

form1中:

using QQ.App_Code;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace QQ
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //将当前登录账号的全部好友信息全部取出来
            List<haoyou> hlist = new haoyoudata().select(label1.Text);
            //动态创建好友用户控件,添加到容器中去
            for (int i = 0; i < hlist.Count; i++)
            {
                qqhaoyu hy = new qqhaoyu();
                hy.label1.Text = hlist[i].fnickname;
                hy.label2.Text = hlist[i].fcontent;

                flowLayoutPanel1.Controls.Add(hy);
            }

        }
    }
}

生成显示:

时间: 2024-12-19 15:45:32

用户控件、动态创建添加的相关文章

BMDThread控件动态创建多线程示例

http://www.cnblogs.com/railgunman/archive/2010/12/08/1900688.html BMDThread控件是一套相当成熟的线程控件,使用它可以让你快速的创建.管理线程.    可以到CSDN或者盒子上下载BMDThread控件.    下面我们用多线程模拟客户端发送文件的例子来简单认识一下它.    在窗体中放置一个TIDClient,TBMDThread,TBMDThreadGroup.三个TEdit,两个按钮(开始线程,结束线程),一个MEMO

用户控件,动态创建添加用户控件

用户控件的制作步骤 1,新建一个项目,文件>新建>项目. 2,添加>新建项>用户控件.文件类型为.cs 使用用户控件 在用户控件设计业点击工具栏中的生成项,选择第一项生成解决方案,或直接点F6: 生成成功后在windows窗体的工具栏最顶端就会显示此用户控件 动态添加控件 输入一个值为n,点击按钮,动态生成n个按钮,并编号号 private void button1_Click(object sender, EventArgs e) { //先获取用户输入的是几 int count

用户控件&amp;自定义控件----.Net再学

开始学习.Net到现在两年了快,开始学习java 也有大半年了,中间做项目,又开始.Net的学习.这次做.Net项目,后台代码敲的不是太多,重点放在了UI上,这也是这篇博客要写的内容有关,做UI就少不了控件的使用.这次做UI 主要是提取公共,抽象控件. 敲代码,就离不开控件,那是第一次.Net学习过之后,对于控件的认识很肤浅,通过这次学习,又弥补了对UI控件的认识.这篇博客要说的是:用户控件和自定义控件.提到这两种控件,想必编程的孩子们都不陌生,但是谈到使用,谈到他们的区别,伙伴们清楚吗? 我们

asp.net用户控件和自定义控件的区别

一: Web 用户控件 1.易于创建 2.为使用可视化设计工具的使用者提供有限的支持 3. 每个应用程序中需要控件的一个单独副本 4. 不能添加到 Visual Studio 中的工具箱 5. 适用于静态布局 Web 自定义控件 1.难于创建 2. 为使用者提供完全的可视化设计工具支持 3. 仅在全局程序集缓存中需要控件的单个副本 4. 可以添加到 Visual Studio 中的工具箱 5. 适用于动态布局 二: 用户控件(UserControl) : *.ascx是指页面中加载的功能块 自定

asp.net 用户控件

转载自http://www.cnblogs.com/SkySoot/archive/2012/09/04/2670678.html 在 .NET 里,可以通过两种方式把自己的控件插入到 Web 窗体框架中: 用户控件:它是一小段页面,可以包括静态 HTML 代码和 Web 服务器控件.用户控件的好处是一旦创建了它,就可以在同一个 Web 应用程序的多个页面重用它.用户控件可以加入自己的属性,事件和方法. 自定义服务器控件:它是被编译的类,它通过编程生成自己的 HTML .服务器控件总是预编译到

(九)ASP.NET自定义用户控件(2)

http://www.cnblogs.com/SkySoot/archive/2012/09/04/2670678.html 用户控件 在 .NET 里,可以通过两种方式把自己的控件插入到 Web 窗体框架中: 用户控件:它是一小段页面,可以包括静态 HTML 代码和 Web 服务器控件.用户控件的好处是一旦创建了它,就可以在同一个 Web 应用程序的多个页面重用它.用户控件可以加入自己的属性,事件和方法. 自定义服务器控件:它是被编译的类,它通过编程生成自己的 HTML .服务器控件总是预编译

[Aaronyang] 写给自己的WPF4.5 笔记13[二维自定义控件技巧-可视化状态实战,自定义容器,注册类命令,用户控件补充]

 我的文章一定要做到对读者负责,否则就是失败的文章  ---------   www.ayjs.net    aaronyang技术分享 博文摘要:欢迎大家来支持我的<2013-2015 Aaronyang的又一总结,牧童遥指纳尼村>绝对好文章 关于<写给自己的WPF4.5 笔记14,已在官网发布> 1.讲解了自定义控件加入命令支持的两种手段,补充用户控件的客户定义模板 2.实战的方式讲解了无外观控件,可以让使用者定义模板,讲解模板PART,使用可视化状态组,动画的使用 效果演示:

在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件

在很多时候,我们做一些非常规化的界面的时候,往往需要创建一些用户控件,在其中绘制好一些基础的界面块,作为后续重复使用的一个单元,用户控件同时也可以封装处理一些简单的逻辑.在开发Winform各种类型项目,我都时不时需要定制一些特殊的用户控件,以方便在界面模块中反复使用.我们一般是在自定义的用户控件里面,添加各种各样的界面控件元素,或者封装一些特殊的函数处理共外部调用等.本篇随笔主要介绍基于DevExpress的Winform开发经验,介绍一个类似看板信息的用户控件,并在TabelLayout和S

.NET CORE(C#) WPF 方便的实现用户控件切换(祝大家新年快乐)

微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. .NET CORE(C#) WPF 方便的实现用户控件切换(祝大家新年快乐) 快到2020年了,祝大家新年快乐,今年2019最后一更,谢谢大家支持! 阅读导航 本文背景 代码实现 本文参考 源码 1. 本文背景 一个系统主界面,放上一个菜单,点击菜单在客户区切换不同的展示界面,这是很常规的设计,见下面展示效果图: 左侧一个菜单,点击菜单,右侧切换界面,界面切换动画使用MD控件的组件实现(自己

用户控件 WebUserControl .ascx

用户控件:WebUserControl   添加新项-用户控件 .ascx后缀,            派生.UserControl与页面的父类不是一个  是要嵌在页面里面使用 使用方法:直接设计页面拖到要放置的位置,出现以下两项 <%@ Register src="WUC.ascx" tagname="WUC" tagprefix="uc1" %> <uc1:WUC ID="WUC1" runat=&quo