解析C#⾃定义控件的制作与使⽤实例的详解
本例是制作⼀个简单的⾃定义控件,然后⽤⼀个简单的测试程序,对于初学者来说,本例⼦⽐较简单,只能起到抛⽯引⽟的效果。
我也是在学习当中,今后会将⾃⼰所学的逐步写出来和⼤家交流共享。
如上图,设置pictureBox的Name为picBox,背景为⽩⾊,Button的Name为btnOpen,另外靠左的三个Lable的Text属性分别为:⽂件名称,⽂件⼤⼩,⽂件尺⼨,靠右的三个Lable的Name分别为:lblName, lblLength, lblSize.
在btnOpen的Click事件写⼊代码,打开⼀个打开⽂件对话框,选择⼀个图形⽂件,打开并将它显⽰在picBox上。
复制代码代码如下:
private void btnOpen_Click(object sender, EventArgs e)
{
OpenFileDialog ofdPic = new OpenFileDialog();
ofdPic.Filter = "JPG(*.JPG;*.JPEG);gif⽂件(*.GIF)|*.jpg;*.jpeg;*.gif";
ofdPic.FilterIndex = 1;
ofdPic.RestoreDirectory = true;
ofdPic.FileName = "";
if (ofdPic.ShowDialog() == DialogResult.OK)
{
string sPicPaht = ofdPic.FileName.ToString();
FileInfo fiPicInfo = new FileInfo(sPicPaht);
long lPicLong = fiPicInfo.Length / 1024;
string sPicName = fiPicInfo.Name;
string sPicDirectory = fiPicInfo.Directory.ToString();
string sPicDirectoryPath = fiPicInfo.DirectoryName;
Bitmap bmPic = new Bitmap(sPicPaht);
if (lPicLong > 400)
{
MessageBox.Show("此⽂件⼤⼩為" + lPicLong + "K;已超過最⼤限制的K范圍!"); }
else
{
Point ptLoction = new Point(bmPic.Size);
if (ptLoction.X > picBox.Size.Width || ptLoction.Y > picBox.Size.Height)
{
picBox.SizeMode = PictureBoxSizeMode.Zoom;
}
else
{
picBox.SizeMode = PictureBoxSizeMode.CenterImage;
}
}
picBox.LoadAsync(sPicPaht);
lblName.Text = sPicName;
lblLength.Text = lPicLong.ToString() + " KB";
lblSize.Text = bmPic.Size.Width.ToString() + "×" + bmPic.Size.Height.ToString(); }
}
按F5启动调试,弹出如下窗体:
单击“打开”按钮,弹出打开⽂件对话框:
选择⼀张图⽚,单击“打开”,可以看到在picBox上显⽰了打开的图⽚:
第五步:查看成⽣的控件⽂件,到该项⽬⽂件⽬录下的bin->debug中可到。第⼀步:新建⼀个C# Windows 应⽤程序,名为TestMyButton.
第⼆步:增加⾃定义的⽤户控件
右键单击⼯具箱中任意⼀个控件,弹出右键菜单如下:
单击“选择项”,弹出如下对话框:
单击“浏览”,弹出打开对话框:控件的使用
选中控件⽂件 mybutton.dll ,单击“打开”按钮,回到⾃定义⼯具箱,系统会默认把你刚才选中的控件打上勾。
返回vs编辑器,可看到⼯具箱中多出了⼀个UserControl:
第三步:拖动1个⾃定义的控件到测试窗⼝
第四步测试程序
单击“打开”按钮:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论