C# Winform學習---MDI表單的設計,PictureBox控制項(圖片上一頁下一頁),Timer控制項,MenuStrip控制項

來源:互聯網
上載者:User

標籤:winform   style   blog   http   color   使用   os   io   

一、MDI表單的設計

1.MDI簡介

MDI(Multiple Document Interface)就是所謂的多重文件介面,與此對應就有單一文件介面 (SDI), 它是微軟公司從Windows 2.0下的Microsoft Excel試算表程式開始引入的,Excel試算表使用者有時需要同時操作多份表格,MDI正好為這種操作多表格提供了很大的方便,於是就產生了MDI程式

2.:

如所示,多表單嵌套,其中一個是父表單,其條是子表單。

 

橫向排列下面的表單:

 

縱向排列下面的表單:

 

關閉全部子表單:

 

3.實現過程

1)、建立一個window表單程式

2)建立4個form

 

3)、後端實現代碼

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace mdi設計{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void 顯示子表單ToolStripMenuItem_Click(object sender, EventArgs e)        {            Form f2 = new Form2();            f2.MdiParent = this;//指定其mdi父表單            f2.Show();                                    Form f3 = new Form3();            f3.MdiParent = this;            f3.Show();            Form f4 = new Form4();            f4.Show();            f4.MdiParent = this;        }        private void 橫向排列ToolStripMenuItem_Click(object sender, EventArgs e)        {            LayoutMdi(MdiLayout.TileHorizontal);        }        private void 縱向排列ToolStripMenuItem_Click(object sender, EventArgs e)        {            LayoutMdi(MdiLayout.TileVertical);        }        private void 關閉全部表單ToolStripMenuItem_Click(object sender, EventArgs e)        {            foreach (Form f in this.MdiChildren)            {                f.Close();            }        }    }}

 

全部源碼實現:https://github.com/amosli/CSharp/tree/mdi

 

其中菜單選項用的是MenuStrip控制項,其使用也是非常簡單方便的,如下所示:

 

二、MenuStrip控制項

建立一個MenuStrip控制項,然後寫入名稱即可,雙擊可以定義其事件,如上面的橫向排列和縱向排列。

 

 

 

三、PictureBox控制項和Timer控制項

1.先看:

 

 

 

2.實現過程

建立PictureBox和timer的控制項

 

為了實現PictureBox控制項的相對大小,這裡要注意更改Anchor布局為全部勾選!

 

設定圖片顯示的格式:

 

 

 

【timer控制項】間隔時間設定:

間隔執行的事件:

 

3.後台實現代碼

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace PictureBox控制項學習{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        /// <summary>        /// timer更改時間        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void timer1_Tick(object sender, EventArgs e)        {            lbTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");        }        public static String ImgDirPath = @"C:\work\img";        String[] imgPaths = Directory.GetFiles(ImgDirPath, "*.jpg");        public static int ImgNum = 0;        /// <summary>        /// 實現上一頁按鈕        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btnPrevious_Click(object sender, EventArgs e)        {            ImgNum--;            if (ImgNum < 0)            {                ImgNum = imgPaths.Length-1;            }            pboGirls.ImageLocation = imgPaths[ImgNum];        }        /// <summary>        /// 實現下一頁按鈕        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btnNext_Click(object sender, EventArgs e)        {            ImgNum++;            if (ImgNum >= imgPaths.Length)            {                ImgNum = 0;            }            pboGirls.ImageLocation = imgPaths[ImgNum];        }        /// <summary>        /// 隨機瀏覽        /// </summary>        Random rnd = new Random();        private void button1_Click(object sender, EventArgs e)        {            pboGirls.ImageLocation = imgPaths[rnd.Next(imgPaths.Length)];        }    }}

 

全部源碼:https://github.com/amosli/CSharp/tree/picturebox

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.