IOTextControl.cs 2.7 KB
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
 
using System.Windows.Forms;
using OnlineStore.DeviceLibrary;
using OnlineStore.LoadCSVLibrary;

namespace UserFromControl
{
    public partial class IOTextControl : UserControl
    {

        public string IoType = "";
        public string IOName { get; set; }

        public int   IOValue { get; set; }

        public Boolean isCanClick { get; set; }
        public IOTextControl()
        {
            InitializeComponent();
            if (ImageManager.IsInit==false)
            {
                ImageManager.Init();
            }
            this.pictureBox1.BackgroundImage = ImageManager.imgGrey;
            this.pictureBox2.BackgroundImage = ImageManager.imgGreen;
            pictureBox1.Visible = true;
            pictureBox2.Visible = false;
            isCanClick = false;
        }
        public IOTextControl(string ioName, string name, int widht = 220, int height = 25, int ioValue = 0, bool canClick = false, int tabIndex = 0)
        {
            InitializeComponent();
            if (ImageManager.IsInit == false)
            {
                ImageManager.Init();
            }
            this.pictureBox1.BackgroundImage = ImageManager.imgGrey;
            this.pictureBox2.BackgroundImage = ImageManager.imgGreen;
            pictureBox1.Visible = true;
            pictureBox2.Visible = false;
            isCanClick = false;

            IOName = ioName;
            IOValue = IOValue;
            isCanClick = canClick;
            Name = "IO_" + name;
            Size = new System.Drawing.Size(widht, height);
            TabIndex = tabIndex;
        }
        public void ShowData()
        {
            label1.Text = IOName;
             
            if (IOValue == 0)
            {
                pictureBox1.Visible = true;
                pictureBox2.Visible = false;
            }
            else
            {
                pictureBox1.Visible = false;
                pictureBox2.Visible = true;
            }
        }

        private void IOStatusControl_Load(object sender, EventArgs e)
        {
            ShowData();
        }

        private void pictureBox2_Click(object sender, EventArgs e)
        {
            if (isCanClick)
            {
                IOManager.IOMove(IoType, IO_VALUE.LOW);
                IOValue = 0;
                ShowData();
            }
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (isCanClick)
            {
                IOManager.IOMove(IoType, IO_VALUE.HIGH);
                IOValue = 1;
                ShowData();
            }
        }
    }
}