Kaynak kodları aşağıdaki gibidir:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace PCKapatma
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = DateTime.Now.ToLongTimeString(); // Güncel saati yazdırma işlemi
if (label7.Text == DateTime.Now.ToLongTimeString()) // ayarlanan Saat ile güncel saat denk olduğunda
{
System.Diagnostics.Process.Start("shutdown", "-f -s"); // Sistemi Kapat
}
}
private void Form1_Load(object sender, EventArgs e)
{
timer1.Enabled = true; // Form yüklendiğinde güncel saati başlat
label1.Text = DateTime.Now.ToLongTimeString(); // Yazdır
for (int i = 0; i <= 23; i++) // Comboboxa otomatik veriyi yükleme
{
comboBox1.Items.Add(i);
}
for (int i = 0; i <= 59; i++) // comboboxa veriyi (dakika ve saniye) yükleme
{
comboBox2.Items.Add(i);
comboBox3.Items.Add(i);
}
}
int kapamasure; // Global olarak değişkenlerimi tanımlıyorum
string yenisaatdeger;
string yenidakikadeger;
string yenisaniyedeger;
private void button1_Click(object sender, EventArgs e)
{
if (radioButton1.Checked == true) // Eğer radyo butonda ilk seçenek seçili ise (saate göre kapanma)her 3 combo boxtaki değeri string olarak alıyorum.
{
string saat = comboBox1.SelectedItem.ToString();
string dakika = comboBox2.SelectedItem.ToString();
string saniye = comboBox3.SelectedItem.ToString();
//Alınan değerleri Convert ediyorum, karşılaştırma yapmak için..
int saatdeger = Convert.ToInt32(saat);
int dakikadeger = Convert.ToInt32(dakika);
int saniyedeger = Convert.ToInt32(saniye);
// Saat değeri 10 dan küçük ise labela yazdırırken başına 0 değerini ekliyorum.
if (saatdeger < 10)
{
yenisaatdeger = "0" + saatdeger.ToString();
}
else
{
yenisaatdeger = saatdeger.ToString();
}
// Dakika değeri 10 dan küçük ise labela yazdırırken başına 0 değerini ekliyorum.
if (dakikadeger < 10)
{
yenidakikadeger = "0" + dakikadeger.ToString();
}
else
{
yenidakikadeger = dakikadeger.ToString();
}
// Saniye değeri 10 dan küçük ise labela yazdırırken başına 0 değerini ekliyorum.
if (saniyedeger < 10)
{
yenisaniyedeger = "0" + saniyedeger.ToString();
}
else
{
yenisaniyedeger = saniyedeger.ToString();
}
// Saat formatını belirlediğim karar yapısına göre label da yazdırıyorum
label7.Text = yenisaatdeger + ":" + yenidakikadeger + ":" + yenisaniyedeger;
}
// Eğer radyo buton 2 işaretli ise;
if (radioButton2.Checked == true)
// seçilen dakika sıfır değilse, seçilen ifadeyi 60 (saniye) ile çarpıyorum, timer 2 yi başlatıyorum.
{
if (Convert.ToInt32(comboBox2.SelectedItem) != 0)
{
int kapamadakika = Convert.ToInt32(comboBox2.SelectedItem.ToString());
kapamasure = 60 * kapamadakika;
timer2.Start();
}
// seçilen değer sıfır ise kullanıcıya uyarı veriyor.
else
{
MessageBox.Show("Lütfen sıfır değerini seçmeyiniz");
}
}
}
private void button2_Click(object sender, EventArgs e)
//Eğer iptal butonuna basılmış ise işlemi iptal ettiriyorum, Timer duruyor.
{
System.Diagnostics.Process.Start("shutdown", " -a");
label7.Text = "";
timer2.Stop();
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
comboBox1.Enabled = true;
comboBox2.Enabled = true;
comboBox3.Enabled = true;
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
// Eğer radyo buton 2 seçili ise, saat ve saniye seçilmesin diye combobox'a false veriyorum.
{
comboBox1.Enabled = false;
comboBox2.Enabled = true;
comboBox3.Enabled = false;
}
private void timer2_Tick(object sender, EventArgs e)
// Dakikaya göre kapanma seçildiğinde kalan süreyi ekrana yazdırıyorum.
{
kapamasure--;
label7.Text = kapamasure.ToString();
Refresh();
// süre 0 olduğunda sistemi 30 saniye içinde kapatıyorum.
if (kapamasure == 0)
{
System.Diagnostics.Process.Start("shutdown", "-f -s");
}
}
private void button3_Click(object sender, EventArgs e)
// Çıkış butonu uyarısı..
{
DialogResult sonuc;
sonuc = MessageBox.Show("Çıkmak İstediğinizden Eminmisiniz?", "Uyarı", MessageBoxButtons.OKCancel);
{
if (sonuc == DialogResult.OK)
{
Application.Exit();
}
}
}
}
}

Hiç yorum yok:
Yorum Gönder