Board logo

标题: PPT倒计时(C#)源代码 [打印本页]

作者: tearlight    时间: 2010-10-28 12:32     标题: PPT倒计时(C#)源代码

前些日子  老师要求做个PPT倒计时  即是时间到了就把PPT强行给关闭 在演示的时候防止有些人厚脸皮拖时间  我用VS2005做的  测试成功
From1.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace ppttime
{
    public partial class Form1 : Form
    {
      
        private string myval;
        public string Form1Value
        {
            get {
                return myval;
            }
            set {
                myval = value;
            }
        }
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Items.Add("1分钟");
            comboBox1.Items.Add("3分钟");
            comboBox1.Items.Add("5分钟");
            comboBox1.Items.Add("10分钟");
            comboBox1.Items.Add("15分钟");
            comboBox1.Items.Add("20分钟");
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.Form1Value = comboBox1.Text;
            Form2 myform2 = new Form2();
            myform2.Owner = this;//将自己的引用放到myform2实例的Owner属性。   
            myform2.Show();
            this.Hide();
            myform2.FormClosing += Form2_FormClosing; //关闭窗体2前显示窗体1
        }
        private void Form2_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.Show();
        }
    }
}

From2.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace ppttime
{
    public partial class Form2 : Form
    {
        Form1 myform1 ;//申明一个对象
        int timecount;
        public Form2()
        {
            InitializeComponent();
        }
        private void Form2_Load(object sender, EventArgs e)
        {
           this.Top=0;this.Left=Screen.PrimaryScreen.WorkingArea.Width-104;
           myform1 = (Form1)this.Owner;  //将引用(owner)转化为Form1赋给myfrom1,此时myfrom1实例就是你以前的那个实例。   
           string t1 = myform1.Form1Value;
           string[]  t2 = t1.Split(new char[2]{'分','钟'});//将时间值分离出来
           timecount = Convert.ToInt32(t2[0]) * 60;//将时间值转换成整形并以秒为单位
           label1.Text = Convert.ToString(timecount+"秒");//显示设定的时间
           timer1.Start();
        }

        private void FullScreen() //全屏显示时的函数
        {
          this.WindowState = FormWindowState.Maximized;
          Font label1_font = new Font("宋体",72);
          this.label1.Font = label1_font;
          label1.Top = (this.Height-label1.Height) / 2;
          label1.Left = (this.Width-label1.Width) / 2;
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            timecount = timecount - 1;
            if (timecount > 10 && timecount%10==0)
            {
                label1.Text = Convert.ToString(timecount + "秒");
            }
            if(0< timecount && timecount<=10)
            {
                label1.Text = Convert.ToString(timecount + "秒");
            }
             if(timecount == 0)
            {
                label1.Text = "时间到了";
                FullScreen();
                CloseProcess("POWERPNT");      
            }
            if (timecount == -3)
            {
                timer1.Enabled = false;
                this.Close();
            }
            
        }
         private void CloseProcess(string myprocess)//定义结束进程函数
        {
            foreach (System.Diagnostics.Process thisproc in System.Diagnostics.Process.GetProcesses())
            {
                if (thisproc.ProcessName.ToString() == myprocess)
                {
                    thisproc.Kill();
                }
            }
        }   
    }
}







欢迎光临 稻草软件论坛 (http://www.dcrjs.com/) Powered by Discuz! 7.2