duminică, 29 mai 2016

C#24 Transparency & Opacity, TrackBar, NumericUpDown, DomainUpDown


 Plasăm în fereastra aplicației controalele: NumericUpDown, DomainUpDown și TrackBar, a căror funcționalitate va reieși clar din aplicația următoare. Mai punem un buton pe care scriem revenire.

În esență, acestea sunt controale prin care putem trimite un input dintr-o gamă sau plajă restrânsă de itemi sau valori. Vom regla cu ajutorul lor opacitatea / transparența ferestrei aplicației, într-o gamă de la 100% (opac) la 0% (total transparent).

Introducem itemii lui DomainUpDown prin panoul Proprietăți, proprietatea Items. Introducem 5 itemi, cu valorile Opacitate 0%, Opacitate 25%, Opacitate 50%, Opacitate 75% și Opacitate 100%. Tot aici setăm proprietatea Text la valoarea Opacitate 100%.

Modificăm proprietatea Maximum a lui NumericUpDown la valoarea 5 (implicit este 100).

Scriem evenimentul Click al butonului revenire.

În timpul rulării vom evita opacitatea 0% deoarece butoanele de închidere a aplicației nu mai sunt accesibile.


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 Opacity
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            this.Opacity = 1 - (double)trackBar1.Value / 10;
        }

        private void domainUpDown1_SelectedItemChanged(object sender, EventArgs e)
        {
            this.Opacity = 1 - (double)domainUpDown1.SelectedIndex / 5;
        }

        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            this.Opacity = 1 - (double)numericUpDown1.Value / 5;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Opacity = 1;
            trackBar1.Value = 0;
            numericUpDown1.Value = 0;
            domainUpDown1.Text = "Opacitate 100%";
        }
    }
}

Niciun comentariu:

Trimiteți un comentariu