欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#創(chuàng)建自定義控件的示例

 更新時(shí)間:2020年10月13日 11:06:15   作者:zls365  
這篇文章主要介紹了C#創(chuàng)建自定義控件的示例,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下

在編程過程中,現(xiàn)有的c#控件遠(yuǎn)遠(yuǎn)不能滿足我們的需要,這時(shí)候就需要我們自己來(lái)開發(fā)控件了。本人在開發(fā)自定義控件時(shí)走了一些彎路,寫下此篇,希望能夠給有需要的朋友一些幫助,也借此加深自己的印象。

1.創(chuàng)建自定義控件

2.添加控件,組合成一個(gè)新的控件

自定義控件功能:打開一張圖片,將圖片展示在pictureBox控件中,并將圖片的名稱、大小、尺寸顯示出來(lái)

控件如下:

pictureBox1:命名為picBox

label1~label6 :左邊三個(gè)顯示文字,右邊三個(gè)命名為:lblName lblLength lblSize

button1:命名為btnOpen

代碼如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
 
namespace WindowsFormsControlLibrary1
{
  public partial class UserControl1: UserControl
  {
    public UserControl1()
    {
      InitializeComponent();
    }
 
    private void button1_Click(object sender, EventArgs e)
    {
      OpenFileDialog ofdPic = new OpenFileDialog();
      ofdPic.Filter = "JPG(*.JPG;*.JPEG);gif文件(*.GIF);PNG(*.PNG)|*.jpg;*.jpeg;*.gif;*.png";
      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();
      }
 
    }
  }
}

點(diǎn)擊【解決方案】,右鍵彈出窗口,點(diǎn)擊【生成解決方案】

至此,自定義控件的創(chuàng)建已經(jīng)完成!

生成的控件路徑在Debug文件夾下,dll文件

3.自定義控件測(cè)試

新建windows窗體應(yīng)用程序

發(fā)現(xiàn)在左邊的控件工具欄中并沒有剛剛的自定義控件,不要急?。?/p>

選擇工具下的【選擇工具箱項(xiàng)】

瀏覽,選擇dll文件路徑,注意路徑中不能包含中文字符,切記!否則會(huì)出錯(cuò)!

添加成功后,會(huì)發(fā)現(xiàn)工具箱中出現(xiàn)了剛剛定義的控件。

測(cè)試結(jié)果:

以上就是C#創(chuàng)建自定義控件的示例的詳細(xì)內(nèi)容,更多關(guān)于C#創(chuàng)建自定義控件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#自定義事件之屬性改變引發(fā)事件示例

    C#自定義事件之屬性改變引發(fā)事件示例

    這篇文章主要為大家詳細(xì)介紹了C#自定義事件之屬性改變引發(fā)事件示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C# 通過反射獲取類型的字段值及給字段賦值的操作

    C# 通過反射獲取類型的字段值及給字段賦值的操作

    這篇文章主要介紹了C# 通過反射獲取類型的字段值及給字段賦值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-01-01
  • 詳解c# 類的構(gòu)造方法

    詳解c# 類的構(gòu)造方法

    本文主要介紹了c#類的構(gòu)造方法。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • C#使用ScrapySharp實(shí)現(xiàn)多線程下載操作

    C#使用ScrapySharp實(shí)現(xiàn)多線程下載操作

    在現(xiàn)代互聯(lián)網(wǎng)應(yīng)用中,數(shù)據(jù)抓取是一個(gè)常見的需求,無(wú)論是為了數(shù)據(jù)分析、內(nèi)容聚合還是自動(dòng)化測(cè)試,ScrapySharp 是一個(gè)基于 .NET 的輕量級(jí)、高性能的網(wǎng)頁(yè)抓取庫(kù),本文將探討如何在 C# 中使用 ScrapySharp 實(shí)現(xiàn)多線程下載策略,需要的朋友可以參考下
    2024-08-08
  • C# 中如何取絕對(duì)值函數(shù)

    C# 中如何取絕對(duì)值函數(shù)

    本文主要介紹了C# 中取絕對(duì)值的函數(shù)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • C#實(shí)現(xiàn)飛行棋源碼

    C#實(shí)現(xiàn)飛行棋源碼

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)飛行棋源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C#遍歷文件夾獲取指定后綴名文件

    C#遍歷文件夾獲取指定后綴名文件

    這篇文章主要為大家詳細(xì)介紹了C#遍歷文件夾獲取指定后綴名文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Quartz.Net使用方法詳解

    Quartz.Net使用方法詳解

    本文詳細(xì)講解了Quartz.Net的使用方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • C#窗體傳值實(shí)例匯總

    C#窗體傳值實(shí)例匯總

    這篇文章主要介紹了C#窗體傳值,實(shí)例形式匯總了靜態(tài)變量傳值、委托傳值、對(duì)話框之間的傳值等常見應(yīng)用技巧,需要的朋友可以參考下
    2014-12-12
  • Unity Shader實(shí)現(xiàn)裁切效果

    Unity Shader實(shí)現(xiàn)裁切效果

    這篇文章主要為大家詳細(xì)介紹了Unity Shader實(shí)現(xiàn)裁切效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04

最新評(píng)論