最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#分屏控件用法實(shí)例

 更新時(shí)間:2014年08月26日 11:58:42   投稿:shichen2014  
這篇文章主要介紹了C#分屏控件用法實(shí)例,需要的朋友可以參考下

本文實(shí)例中的自定義類PictureBox繼承于UserControl,最終實(shí)現(xiàn)簡(jiǎn)單的分屏功能。分享給大家供大家參考之用。具體實(shí)現(xiàn)代碼如下:

public partial class PictureControl : UserControl
{
    public event MouseEventHandler PicControl_DoubleClick;
    private int picNum;
    /// <summary>
    /// 屏幕個(gè)數(shù)
    /// </summary>
    public int PicNum
    {
      get { return picNum; }
      set
      {
        if (value == 4 || value == 6 || value == 9 || value == 12 || value == 16 || value == 20 || value == 25)//只能

是4、6、9、12、16、20、25
        {
          picNum = value;
          this.SetPictureBox(this.picNum);
        }
        else
        {
          this.PicNum = 12;
          this.SetPictureBox(this.picNum);
        }
      }
    }

    public PictureControl()
    {
      this.picNum = 4;
      InitializeComponent();
      this.SetPictureBox(this.picNum);
    }

    /// <summary>
    /// 根據(jù)個(gè)數(shù)布局PictureBox
    /// </summary>
    /// <param name="num"></param>
    private void SetPictureBox(int num)
    {
      this.Controls.Clear();
      Size size = this.Size;
      switch (num)
      {
        case 4: this.SetPictureBox(2, 2, size); break;
        case 6: this.SetPictureBox(2, 3, size); break;
        case 9: this.SetPictureBox(3, 3, size); break;
        case 12: this.SetPictureBox(3, 4, size); break;
        case 16: this.SetPictureBox(4, 4, size); break;
        case 20: this.SetPictureBox(4, 5, size); break;
        case 25: this.SetPictureBox(5, 5, size); break;
      }
    }

    /// <summary>
    /// 布局pictureBox
    /// </summary>
    /// <param name="x">幾行</param>
    /// <param name="y">幾列</param>
    /// <param name="size">當(dāng)前控件的大小</param>
    private void SetPictureBox(int x, int y,Size size)
    {
      int num = 0;
      for (int i = 0; i < x; i++)
      {
        for (int j = 0; j < y; j++)
        {
          PictureBox pic = new PictureBox();
          pic.SizeMode = PictureBoxSizeMode.Zoom;                     //設(shè)置自動(dòng)縮放
          pic.BackColor = Color.White;                          //設(shè)置背景顏色
          pic.Location = new Point((size.Width / y) * j, (size.Height / x) * i);     //設(shè)置Location
          pic.BorderStyle = BorderStyle.FixedSingle;                   //設(shè)置邊框
          pic.MouseDoubleClick += new MouseEventHandler(pic_MouseDoubleClick);      //訂閱控件雙擊事件
          pic.Size = new Size(size.Width / y, size.Height / x);              //設(shè)置控件大小   
          pic.Tag = num;                                 //設(shè)定控件編號(hào)即屏幕序號(hào)
          this.Controls.Add(pic);                             //添加
          num++;
        }
      }
    }
    void pic_MouseDoubleClick(object sender, MouseEventArgs e)
    {
      if (this.PicControl_DoubleClick != null)
      {
        this.PicControl_DoubleClick(sender, e);//將動(dòng)態(tài)添加的控件的雙擊事件 傳向控件體外。
      }
    }
    private void PictureControl_SizeChanged(object sender, EventArgs e)
    {
      this.SetPictureBox(this.picNum);
    }
    private PictureBox GetPicByIndex(int index)
    {
      foreach (Control c in this.Controls)
      {
        if (Convert.ToInt32(c.Tag) == index)
        {
          return (PictureBox)c;
        }
      }
      PictureBox p = new PictureBox();
      p.Tag = -1;
      return p;
    }
    /// <summary>
    /// 根據(jù)屏幕序號(hào)設(shè)置圖像
    /// </summary>
    /// <param name="index">屏幕號(hào)</param>
    /// <param name="img">圖像</param>
    public void SetImageByIndex(int index, Image img)
    {
      GetPicByIndex(index).Image = img;
    }
}

希望本文所述實(shí)例對(duì)大家C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 深入解析C#中的命名實(shí)參和可選實(shí)參

    深入解析C#中的命名實(shí)參和可選實(shí)參

    這篇文章主要介紹了C#中的命名實(shí)參和可選實(shí)參,在COM接口相關(guān)的開發(fā)中經(jīng)??梢杂玫?需要的朋友可以參考下
    2016-01-01
  • 用C#把文件轉(zhuǎn)換為XML的代碼

    用C#把文件轉(zhuǎn)換為XML的代碼

    用C#把文件轉(zhuǎn)換為XML的代碼...
    2007-03-03
  • C# WinForm制作登錄界面的實(shí)現(xiàn)步驟

    C# WinForm制作登錄界面的實(shí)現(xiàn)步驟

    本文主要介紹了C# WinForm制作登錄界面的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • c#數(shù)據(jù)綁定之?dāng)?shù)據(jù)轉(zhuǎn)化為信息的示例

    c#數(shù)據(jù)綁定之?dāng)?shù)據(jù)轉(zhuǎn)化為信息的示例

    這篇文章主要介紹了c#數(shù)據(jù)綁定中的數(shù)據(jù)轉(zhuǎn)化為信息的示例,需要的朋友可以參考下
    2014-04-04
  • C#中partial關(guān)鍵字的作用

    C#中partial關(guān)鍵字的作用

    這篇文章主要介紹了C#中partial關(guān)鍵字的作用詳解,包括局部類型概念和注意點(diǎn)介紹,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下
    2017-03-03
  • C#驗(yàn)證身份證號(hào)碼正確性的實(shí)例代碼(收藏)

    C#驗(yàn)證身份證號(hào)碼正確性的實(shí)例代碼(收藏)

    這篇文章主要介紹了C#驗(yàn)證身份證號(hào)碼正確性的實(shí)例代碼,包括18位號(hào)碼和15位號(hào)碼的校驗(yàn),需要的朋友可以參考下
    2017-07-07
  • 一文帶你搞懂什么是WPF中的依賴屬性

    一文帶你搞懂什么是WPF中的依賴屬性

    依賴屬性是?WPF?的一個(gè)核心概念,它為傳統(tǒng)的?.NET?屬性提供了增強(qiáng)功能,支持綁定、樣式、動(dòng)畫和默認(rèn)值等功能,下面我們就來看看WPF依賴屬性的具體應(yīng)用吧
    2024-11-11
  • 如何讓C#、VB.NET實(shí)現(xiàn)復(fù)雜的二進(jìn)制操作

    如何讓C#、VB.NET實(shí)現(xiàn)復(fù)雜的二進(jìn)制操作

    VB.NET和C#屬于高級(jí)語言,對(duì)二進(jìn)制位操作的支持不是很好,比如沒有了移位運(yùn)算等,用的時(shí)候確實(shí)很不方便,所以在閑暇之余我重新封裝了一個(gè)用于C#、VB.NET的位操作類庫(kù),通過該類庫(kù)可以實(shí)現(xiàn)數(shù)據(jù)移位、循環(huán)移位、轉(zhuǎn)換為二進(jìn)制、將二進(jìn)制轉(zhuǎn)換為數(shù)據(jù)等
    2013-07-07
  • c#中分割字符串的幾種方法

    c#中分割字符串的幾種方法

    c#中分割字符串的幾種方法...
    2007-04-04
  • C#之繼承實(shí)現(xiàn)

    C#之繼承實(shí)現(xiàn)

    本文詳細(xì)講解了C#之繼承的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04

最新評(píng)論

湘乡市| 洪江市| 襄城县| 金溪县| 洛浦县| 丽水市| 天等县| 巧家县| 玛沁县| 垣曲县| 宿迁市| 慈溪市| 团风县| 恩平市| 东莞市| 陆川县| 水城县| 乌苏市| 克拉玛依市| 山阴县| 密山市| 甘南县| 汾西县| 锡林郭勒盟| 柳河县| 伊春市| 广平县| 白水县| 凌云县| 牙克石市| 邹城市| 遵义市| 平邑县| 阳城县| 横山县| 临朐县| 海原县| 吴江市| 广安市| 吐鲁番市| 阳春市|