WINCE 屏幕最大化

//--------------------------------------------------------------------
// FILENAME: ControlForm.cs
//
// Copyright(c) 2005 Symbol Technologies Inc. All rights reserved.
//
// DESCRIPTION:
//
// NOTES:
//
// 
//--------------------------------------------------------------------
using System;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
using System.Data;

namespace CS_DisplaySample1
{
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class ControlForm : System.Windows.Forms.Form
    {
        private System.Windows.Forms.TrackBar BacklightLeveltrackBar;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Button AboutButton;
        private System.Windows.Forms.Button ExitButton;
        private System.Windows.Forms.TrackBar ContrastLeveltrackBar;
        private System.Windows.Forms.Label Contrastlabel;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.Label label3;
        private System.Windows.Forms.Label label4;
        private System.Windows.Forms.Label label5;
        private System.Windows.Forms.CheckBox BacklightCheckBox;
        private Symbol.Display.Controller MyDisplayController=null;

        public ControlForm()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            this.AboutButton.Focus();
        }
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            base.Dispose( disposing );
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.BacklightLeveltrackBar = new System.Windows.Forms.TrackBar();
            this.label1 = new System.Windows.Forms.Label();
            this.Contrastlabel = new System.Windows.Forms.Label();
            this.ContrastLeveltrackBar = new System.Windows.Forms.TrackBar();
            this.AboutButton = new System.Windows.Forms.Button();
            this.ExitButton = new System.Windows.Forms.Button();
            this.label2 = new System.Windows.Forms.Label();
            this.label3 = new System.Windows.Forms.Label();
            this.label4 = new System.Windows.Forms.Label();
            this.label5 = new System.Windows.Forms.Label();
            this.BacklightCheckBox = new System.Windows.Forms.CheckBox();
            this.SuspendLayout();
            // 
            // BacklightLeveltrackBar
            // 
            this.BacklightLeveltrackBar.LargeChange = 1;
            this.BacklightLeveltrackBar.Location = new System.Drawing.Point(16, 104);
            this.BacklightLeveltrackBar.Name = "BacklightLeveltrackBar";
            this.BacklightLeveltrackBar.Size = new System.Drawing.Size(152, 45);
            this.BacklightLeveltrackBar.TabIndex = 3;
            this.BacklightLeveltrackBar.ValueChanged += new System.EventHandler(this.BacklightLeveltrackBar_ValueChanged);
            // 
            // label1
            // 
            this.label1.Location = new System.Drawing.Point(16, 80);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(152, 16);
            this.label1.Text = "Backlight Levels";
            // 
            // Contrastlabel
            // 
            this.Contrastlabel.Location = new System.Drawing.Point(16, 160);
            this.Contrastlabel.Name = "Contrastlabel";
            this.Contrastlabel.Size = new System.Drawing.Size(152, 16);
            this.Contrastlabel.Text = "Contrast Levels";
            // 
            // ContrastLeveltrackBar
            // 
            this.ContrastLeveltrackBar.LargeChange = 1;
            this.ContrastLeveltrackBar.Location = new System.Drawing.Point(16, 184);
            this.ContrastLeveltrackBar.Name = "ContrastLeveltrackBar";
            this.ContrastLeveltrackBar.Size = new System.Drawing.Size(160, 45);
            this.ContrastLeveltrackBar.TabIndex = 4;
            this.ContrastLeveltrackBar.ValueChanged += new System.EventHandler(this.ContrastLeveltrackBar_ValueChanged);
            // 
            // AboutButton
            // 
            this.AboutButton.Location = new System.Drawing.Point(8, 240);
            this.AboutButton.Name = "AboutButton";
            this.AboutButton.Size = new System.Drawing.Size(88, 24);
            this.AboutButton.TabIndex = 0;
            this.AboutButton.Text = "About";
            this.AboutButton.Click += new System.EventHandler(this.AboutButton_Click);
            this.AboutButton.KeyDown += new System.Windows.Forms.KeyEventHandler(this.AboutButton_KeyDown);
            // 
            // ExitButton
            // 
            this.ExitButton.Location = new System.Drawing.Point(160, 240);
            this.ExitButton.Name = "ExitButton";
            this.ExitButton.Size = new System.Drawing.Size(72, 24);
            this.ExitButton.TabIndex = 1;
            this.ExitButton.Text = "Exit";
            this.ExitButton.Click += new System.EventHandler(this.ExitButton_Click);
            this.ExitButton.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ExitButton_KeyDown);
            // 
            // label2
            // 
            this.label2.Location = new System.Drawing.Point(24, 128);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(24, 24);
            // 
            // label3
            // 
            this.label3.Location = new System.Drawing.Point(152, 128);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(24, 24);
            // 
            // label4
            // 
            this.label4.Location = new System.Drawing.Point(24, 208);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(24, 24);
            // 
            // label5
            // 
            this.label5.Location = new System.Drawing.Point(152, 208);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(24, 24);
            // 
            // BacklightCheckBox
            // 
            this.BacklightCheckBox.Location = new System.Drawing.Point(24, 40);
            this.BacklightCheckBox.Name = "BacklightCheckBox";
            this.BacklightCheckBox.Size = new System.Drawing.Size(168, 20);
            this.BacklightCheckBox.TabIndex = 2;
            this.BacklightCheckBox.Text = "Backlight (checked = ON)";
            this.BacklightCheckBox.CheckStateChanged += new System.EventHandler(this.BacklightCheckBox_CheckStateChanged);
            this.BacklightCheckBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.BacklightCheckBox_KeyDown);
            // 
            // ControlForm
            // 
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
            this.BackColor = System.Drawing.Color.White;
            this.ClientSize = new System.Drawing.Size(240, 270);
            this.Controls.Add(this.label1);
            this.Controls.Add(this.label2);
            this.Controls.Add(this.label3);
            this.Controls.Add(this.label4);
            this.Controls.Add(this.label5);
            this.Controls.Add(this.Contrastlabel);
            this.Controls.Add(this.BacklightCheckBox);
            this.Controls.Add(this.BacklightLeveltrackBar);
            this.Controls.Add(this.ContrastLeveltrackBar);
            this.Controls.Add(this.AboutButton);
            this.Controls.Add(this.ExitButton);
            this.Name = "ControlForm";
            this.Text = "CS_DisplaySample1";
            this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.ControlForm_KeyUp);
            this.Load += new System.EventHandler(this.ControlForm_Load);
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// This function scales down the given Form & its child controls in order to
        /// make them completely viewable, based on the screen width & height.
        /// </summary>
        static void ScaleDown(System.Windows.Forms.Form frm)
        {
            int scrWidth = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width;
            int scrHeight = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height;
            if (scrWidth < frm.Width)
                foreach (System.Windows.Forms.Control cntrl in frm.Controls)
                {
                    cntrl.Width = ((cntrl.Width) * (scrWidth)) / (frm.Width);
                    cntrl.Left = ((cntrl.Left) * (scrWidth)) / (frm.Width);
                }
            if (scrHeight < frm.Height)
                foreach (System.Windows.Forms.Control cntrl in frm.Controls)
                {
                    cntrl.Height = ((cntrl.Height) * (scrHeight)) / (frm.Height);
                    cntrl.Top = ((cntrl.Top) * (scrHeight)) / (frm.Height);
                }

        }
        /// <summary>
        /// The main entry point for the application.
        /// </summary>

        static void Main() 
        {
            ControlForm cf = new ControlForm();
            ScaleDown(cf);
            Application.Run(cf);
        }

        private void ControlForm_Load(object sender, System.EventArgs e)
        {

            //Select a device from listing
            Symbol.Display.Device MyDevice=(Symbol.Display.Device)Symbol.StandardForms.SelectDevice.Select(
                Symbol.Display.Controller.Title,
                Symbol.Display.Device.AvailableDevices);

            if(MyDevice ==null)
            {
            
                MessageBox.Show("No Device Selected", "SelectDevice");

                //close the form
                this.Close();

                return;
            }

            //Check the device type
            switch (MyDevice.DisplayType)
            {
                    // if device is standard device
                case Symbol.Display.DisplayType.StandardDisplay:
                    MyDisplayController = new Symbol.Display.StandardDisplay(MyDevice);
                    break;

                    //if device is simulated device
                case Symbol.Display.DisplayType.SimulatedDisplay:
                    MyDisplayController = new Symbol.Display.SimulatedDisplay(MyDevice);
                    break;
                default :
                    throw new Symbol.Exceptions.InvalidDataTypeException("Unknown Device Type");

            }

            //add a event  handler  to handle event change
            this.MyDisplayController.ChangeNotify+=new EventHandler(MyDisplayController_ChangeNotify);


            //if backlightIntensitylevel is supported assign the max and min value to intensity
            if ( this.MyDisplayController.BacklightIntensityLevels > 0 )
            {
            
                this.BacklightLeveltrackBar.Minimum=0;
                this.BacklightLeveltrackBar.Maximum=(int)this.MyDisplayController.BacklightIntensityLevels-1;
                this.BacklightLeveltrackBar.Value = (int)this.MyDisplayController.BacklightIntensityLevel;
                this.BacklightCheckBox.Checked = this.MyDisplayController.BacklightState==Symbol.Display.BacklightState.ON; 

                this.label2.Text=this.BacklightLeveltrackBar.Minimum.ToString();
                this.label3.Text=this.BacklightLeveltrackBar.Maximum.ToString();
                
                this.BacklightLeveltrackBar.Show();
                this.BacklightCheckBox.Show();
                this.label2.Show();
                this.label3.Show();
            }
            else
            {
            
                this.BacklightLeveltrackBar.Hide();
                this.BacklightCheckBox.Hide();
                this.label2.Hide();
                this.label3.Hide();
            }

            if ( this.MyDisplayController.ContrastLevels > 0 )
            {

                this.ContrastLeveltrackBar.Minimum=0;
                this.ContrastLeveltrackBar.Maximum=this.MyDisplayController.ContrastLevels-1;
                this.ContrastLeveltrackBar.Value=this.MyDisplayController.ContrastLevel;
                this.label4.Text=this.ContrastLeveltrackBar.Minimum.ToString();
                this.label5.Text=this.ContrastLeveltrackBar.Maximum.ToString();
                this.label4.Show();
                this.label5.Show();
                this.Contrastlabel.Show();
                this.ContrastLeveltrackBar.Show();
            }
            else
            {
            
                this.label4.Hide();
                this.label5.Hide();
                this.Contrastlabel.Hide();
                this.ContrastLeveltrackBar.Hide();
            }
        
            // Add MainMenu if Pocket PC
            if(Symbol.Win32.PlatformType == "PocketPC")
            {
                this.Menu = new MainMenu();
            }
        }

        private void AboutButton_Click(object sender, System.EventArgs e)
        {
            string sVerInfo="CS_DisplaySample1 - C# Display Control Sample 1"+"\r\n"+"\n"+
                "CAPI Version\t"+this.MyDisplayController.Version.CAPIVersion+"\r\n" +
                "Assembly Version\t"+this.MyDisplayController.Version.AssemblyVersion;
            
            //Display The about Dialog
            Symbol.StandardForms.About.Run(null,sVerInfo);
            this.AboutButton.Focus();

        }

        private void ExitButton_Click(object sender, System.EventArgs e)
        {
            //Release all the resource before exiting
            this.MyDisplayController.Dispose ();

            //close the form
            this.Close();

        }

        private void AboutButton_KeyDown(object sender, KeyEventArgs e)
        {
            // Checks if the key pressed was an enter button (character code 13)
            if (e.KeyValue == (char)13)
                AboutButton_Click(this, e);
        }

        private void ExitButton_KeyDown(object sender, KeyEventArgs e)
        {
            // Checks if the key pressed was an enter button (character code 13)
            if (e.KeyValue == (char)13)
                ExitButton_Click(this, e);
        }

        private void ControlForm_KeyUp(object sender, KeyEventArgs e)
        {
            this.AboutButton.Focus();
        }

        private void MyDisplayController_ChangeNotify(object sender, System.EventArgs  e)
        {

            //to Get the next status of display controller
            Symbol.Display.DisplayStatus MyStatus=this.MyDisplayController.GetNextStatus ();

            if(MyStatus != null)
            {
                switch(MyStatus.Change)
                {
                    case Symbol.Display.ChangeType.BACKLIGHT://Backlight change

                        if(this.MyDisplayController.BacklightState==Symbol.Display.BacklightState.ON )
                            this.BacklightCheckBox.Checked = true;
                        else
                            this.BacklightCheckBox.Checked = false;
                        break;

                    case Symbol.Display.ChangeType.INTENSITY://Intensity change
                        this.BacklightLeveltrackBar.Value  =this.MyDisplayController.BacklightIntensityLevel;
                        break;

                    case Symbol.Display.ChangeType.CONTRAST://contrast change
                        this.ContrastLeveltrackBar.Value  =this.MyDisplayController.ContrastLevel;
                        break;
                }
                
            }

        }

        private void BacklightLeveltrackBar_ValueChanged(object sender, System.EventArgs e)
        {
            this.MyDisplayController.BacklightIntensityLevel=this.BacklightLeveltrackBar.Value;
        }
        private void BacklightCheckBox_CheckStateChanged(object sender, System.EventArgs e)
        {
        
            if(this.BacklightCheckBox.Checked)

                this.MyDisplayController.BacklightState=Symbol.Display.BacklightState.ON;
                
            else

                this.MyDisplayController.BacklightState=Symbol.Display.BacklightState.OFF;

        }

        private void BacklightCheckBox_KeyDown(object sender, KeyEventArgs e)
        {
            // Checks if the key pressed was an enter button (character code 13)
            if (e.KeyValue == (char)13)
            {
                this.BacklightCheckBox.Checked = !(this.BacklightCheckBox.Checked);
                BacklightCheckBox_CheckStateChanged(this, e);
            }
        }


        private void ContrastLeveltrackBar_ValueChanged(object sender, System.EventArgs e)
        {
            this.MyDisplayController.ContrastLevel=this.ContrastLeveltrackBar.Value;
        }


    }
}
posted @ 2012-08-31 00:00  James-ping  阅读(875)  评论(0编辑  收藏  举报