c# winform 制作自定义控件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winform 制作自定义控件相关的知识,希望对你有一定的参考价值。
在winform中,我想制作一个自定义的控件,自定义的控件里就一个label控件和一个panel控件,想实现的其实就是一个有标题的panel容器。
请问怎么为自定义的控件添加属性和事件,如添加一个Txt属性用来设定label的值。
还有一个问题就是怎么让自定义的控件设为容器,在应用自定义控件时可以把其他控件放进该定义好的控件的panel里面。
谢谢~
请详细说明一下,非常感谢~~
public string Title get return myLabel.Text; set myLabel.Text = value;
public EventHandler PanelClick add myPanel.Click += value; remove myPanel.Click -= value;
能否在Visual Studio支持拖入控件是由控件的设计器提供的功能,请让你的自定义控件继承自Panel(或ContainerControl),就可以使用此类的设计器来支持设计时拖放了 参考技术A vs2008 中
后台这个这样设置属性.
private string _txt;
public string Txt
set _txt = value;
get return _txt;
this.label1.Text=_txt;
添加控件 你可以用 ControlAdded 事件.来进行你自己的处理 参考技术B 这个学习中!!
C# WinForm开发
文章目录
C# WinForm开发
1.创建C# WinForm项目
a.进入项目界面
视图里打开工具箱,里面包含所有控件。
b.项目结构
Form1.cs 由两部分组成,一部分业务逻辑,一部分设计器(自动生成代码)。
c.自定义一个Form
2.给控件添加事件
方法1:双击对应的控件。
方法2:属性-事件-回车
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("我是Herio");
}
3.显示时间小项目
private void ButtonClicked(object sender, EventArgs e)
{
string timeStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
timeField.Text = timeStr;
}
控件设计下的Name就是字段名,Text就是显示的文本。
4.控件
1.Anchor 可设置四个方向的边距不变。
2.Panel面板,配合Dock属性使其停靠在某一侧。
3.Anchor和Dock不能同时设置。
4.自定义控件
5.几种布局
a.FlowLayoutPanel 流式布局
配合dock属性可实现,改变窗体大小时流式布局。
b.TableLayoutPanel 表格布局
表格布局
c.可以自定义控件
6.文本框
绑定一个KeyPress 事件:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
char ch = e.KeyChar;
if (ch == '\\r')
{
string str = nameBox.Text;
MessageBox.Show("用户输入了: "+str);
}
}
7.CheckBox 复选框
private void checkBox_CheckedChanged(object sender, EventArgs e)
{
bool isChecked = checkBox.Checked;
if (isChecked)
{
passwordBox.PasswordChar = '\\0';
}
else passwordBox.PasswordChar = '*';
}
8.其他的一些控件
下拉框Comobox
listBox 列表框
PictureBox 图片框
9.资源文件
位于Properties下的Resources.resx
10.自定义控件
11.单文件形式控件
自定义类。
学习视频
https://www.bilibili.com/video/BV1d7411F7PG?p=51
以上是关于c# winform 制作自定义控件的主要内容,如果未能解决你的问题,请参考以下文章
C# 做的winform窗体程序把一个Form给为自定义控件?