美文网首页
c# winform 动态添加控件-自定义控件列表(简单实现)

c# winform 动态添加控件-自定义控件列表(简单实现)

作者: sukinai | 来源:发表于2019-11-30 09:51 被阅读0次

想用c# winform 实现类似Android的listview最简单直接的方法就是通过FlowLayoutPanel这个流布局(winform自带,在工具栏就能找到)
下面说说简单的实现方法:
1.先添加FlowLayoutPanel这个控件到form上面。
2.FlowLayoutPanel的FlowDirection这个属性就是流布局方向。
3.在加载数据或加载布局的时候,直接上代码

this.flpFri.SuspendLayout();//先挂起布局逻辑
                for(int i = 0;i < aa.Count;i++)
                {
                    Base.Controls.KfFriListItem FriItem = new Base.Controls.KfFriListItem();//这里我用的是自定义form,一般控件也可以
                    FriItem.Tag = aa[i];
                    FriItem.Click += FriItem_Click;//这里可以为控件添加点击事件,在事件中通过sender.Tag就可以获取到对应数据
                    this.flpFri.Controls.Add(FriItem);//添加布局
                }
                this.flpFri.ResumeLayout(false);//恢复布局逻辑
                this.flpFri.AutoScroll = true;//这步很重要,在子控件比较多的时候必须调用这个方法才会出现滚动条
                this.flpFri.AutoScrollPosition = new Point(0, this.flpMsg.DisplayRectangle.Height);//这里是自动将滚动条滚动到底部,看需求而定

值得注意的是,以上方法必须在UI线程中执行哦。

到这里就完成啦,可以直接运行看效果。
winform的资料近年来比较少,希望对有需要的人有一定的帮助。

相关文章

网友评论

      本文标题:c# winform 动态添加控件-自定义控件列表(简单实现)

      本文链接:https://www.haomeiwen.com/subject/yyanwctx.html