WinForm代码添加控件
1.新建Winform程序#
1.1拖一个 FlowLayoutPanel 控件#
属性:
Dcok = Fill
1.2拖一个 Panel 控件#
属性:
Margin = 10, 10, 10, 10
Visible = False
1.3拖一个 Label 控件#
属性:
AutoSize = False
Size = 381, 23
TextAlign = MiddleLeft
1.4拖一个 Button 控件#
以上这些是为了方便用代码的时候有个定位参考,大体了解位置
2.开始写代码#
2.1新建类 TempData.cs#
public class TempData
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
2.1新建类 panelyh.cs,重绘Panel的样式#
代码太长就不拷贝了,后面放源代码
2.2模拟几条数据,并开始循环往 FlowLayoutPanel 中添加控件#
List<TempData> list = new List<TempData>()
{
new TempData{ Id=1, Age=12, Name="zs" },
new TempData{ Id=2, Age=35, Name="ls" },
new TempData{ Id=3, Age=29, Name="zl" }
};
for (int i = 0; i < list.Count; i++)
{
flowLayoutPanel.Controls.Add(panel(list[i]));
}
2.3代码实现 Panel#
private Panel Pal(TempData T)
{
panelyh pan = new panelyh();
pan.BackColor = Color.WhiteSmoke;
//添加Label
pan.Controls.Add(Lbl(T));
//添加Button
pan.Controls.Add(Btn(T));
pan.Dock = DockStyle.Top;
pan.Location = new Point(10, 10);
pan.Name = $"panel{T.Id}";
pan.Size = new Size(535, 50);
pan.BackColor = Color.White;
return pan;
}
2.4代码实现 Label#
private Label Lbl(TempData T)
{
Label la = new Label
{
AutoSize = false,
Margin = new Padding(5, 10, 3, 0),
Font = new Font("微软雅黑", 10F, FontStyle.Bold),
Location = new Point(19, 11),
Name = $"lbl{T.Id}",
Size = new Size(380, 30),
TextAlign = ContentAlignment.MiddleLeft,
Text = $"Id:{T.Id} Age:{T.Age} Name:{T.Name}"
};
return la;
}
2.5代码实现 Button#
private Button Btn(TempData T)
{
Button btn = new Button
{
Cursor = Cursors.Hand,
FlatStyle = FlatStyle.Flat,
Font = new Font("微软雅黑", 10F, FontStyle.Bold, GraphicsUnit.Point,
((byte)(134))),
Location = new Point(427, 10),
Margin = new Padding(0),
Name = $"btn{T.Id}",
Size = new Size(75, 30),
Text = "按钮",
TabIndex = 14,
TextAlign = ContentAlignment.MiddleCenter,
UseVisualStyleBackColor = false
};
btn.Click += delegate { btn_click(T.Id); };
btn.FlatAppearance.BorderSize = 0;
btn.FlatAppearance.MouseDownBackColor = Color.BlueViolet;
btn.FlatAppearance.MouseOverBackColor = Color.Transparent;
return btn;
}
private void btn_click(int id)
{
MessageBox.Show($"点击按钮数据Id为:{id}");
}
3.下载链接#
Demo下载链接: 百度云
提取码:1234
作者:DotNeter-Hpf
出处:https://www.cnblogs.com/DotNeter-Hpf/p/16620666.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
客官,点个推荐再走可好
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤