开发者社区> 长空翱翔> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

自定义控件制作与应用测试

简介: 1、建议一个windows窗体控件库工程 2、在从工具箱里面拖动1个PictureBox、1个Button、6个Lable控件到用户界面上 布局如下: 并设置相关控件的属性。
+关注继续查看

1、建议一个windows窗体控件库工程


image_thumb8

image_thumb10


2、在从工具箱里面拖动1个PictureBox、1个Button、6个Lable控件到用户界面上

布局如下:

并设置相关控件的属性。


image

 

3、对点击“打开”按钮添加处理事件


在“打开”按钮的Click事件写入代码,打开一个打开文件对话框,选择一个图形文件,打开并将它显示在picBox上。

事件代码如下:


点击(此处)折叠或打开

  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3.     OpenFileDialog OFDialog = new OpenFileDialog();
  4.     OFDialog.Filter = "JPG(*.JPG;*.JPEG);gif文件(*.GIF)|*.jpg;*.jpeg;*.gif";
  5.     OFDialog.FilterIndex = 1;
  6.     OFDialog.RestoreDirectory = true;
  7.     OFDialog.FileName = "";

  8.     if (OFDialog.ShowDialog() == DialogResult.OK)
  9.     {
  10.         string picAbsolutePath = OFDialog.FileName.ToString();
  11.         FileInfo FInfoDemo = new FileInfo(picAbsolutePath);

  12.         long lPicLong = FInfoDemo.Length / 1024;
  13.         string sPicName = FInfoDemo.Name;
  14.         string sPicDirectory = FInfoDemo.Directory.ToString();
  15.         string sPicDirectoryPath = FInfoDemo.DirectoryName;
  16.         Bitmap bmPic = new Bitmap(picAbsolutePath);

  17.         if (lPicLong > 400)
  18.         {
  19.             MessageBox.Show("此文件大小為" + lPicLong + "K;已超過最大限制的K范圍!");
  20.         }
  21.         else
  22.         {
  23.             Point ptLoction = new Point(bmPic.Size);
  24.             if (ptLoction.X > pictureBox1.Size.Width || ptLoction.Y > pictureBox1.Size.Height)
  25.             {
  26.                 pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
  27.             }
  28.             else
  29.             {
  30.                 pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
  31.             }
  32.         }

  33.         pictureBox1.LoadAsync(picAbsolutePath);
  34.         label2.Text = sPicName;
  35.         label3.Text = lPicLong.ToString() + " KB";
  36.         label5.Text = bmPic.Size.Width.ToString() + "×" + bmPic.Size.Height.ToString();

  37.     }
  38. }

 

读取效果

image


3、生成自定义控制动态连接库


image



4、在其他窗体应用程序中调用示例


image

image

image

image

image

image

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android 应用自启动
使用Android Studio新建Android应用; 新建BootReceiver类并继承自BroadcastReceiver; 在BootReceiver类中的onReceive方法中对Intent中的Action进行判断,如果为Intent.
848 0
【实战】制作自定义镜像
制作xnetd镜像 制作its-xnetd:1.0 镜像 ps:xnetd 是我公司的一个自主研发的消息中间件,可以理解为 mq,本文介绍,如何将公司独有的组建放入Docker,制作成镜像。
1137 0
Android自定义控件及自定义属性
Android自定义控件及自定义属性 自定义控件 创建自定义控件 自定义一个类,继承View 继承View还是哪个类,取决于你要实现一个什么样的控件 如...
1048 0
自定义控件0
自定义控件的最简单方法就是继承这个控件。 这次我们来重写一个TextView,让系统自带textview的左边加上一个图标。 效果如下: 实现方法: package com.
574 0
+关注
长空翱翔
长期从事Windows和linux应用程序开发,系统开发,驱动程序开发以及基于.net平台的软件开发;擅长面向对象程序设计、数据库设计、应用与开发;
938
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载