Program hususunda çok açıklama yapmıycam zira kod açıklamaları zaten satırların arasında yazılı olacak. Yalnız bir windows programı olduğunu, başlıktan da anlaşıldığı gibi visual basic .net ile yazıldığını ve çalışması için .net framework’ün bilgisayarınızda yüklü olması gerektiğini belirtmek isterim.Programın tasarımı aşağıda gördüğünüz gibi;
Textbox ve Button kontrolleri dışında hiçbirşey yok. Aşağıda kodlar yer almakta. Çok iyi takip ederseniz ilk okuyuşunuzda anlamanız mümkün. Açıklamalarıda sürekli olarak altlarında olacak. Kolay gelsin..

‘formun load, yani açılış esnasında gerçekleştirilen eylemleri burada
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
‘d isminde bir değişken tanımladım
‘bu değişkenin tipi double yani tam,kesirli ve ondalık sayılarıları tanimlayabiliyor
Dim d As Double
‘bir for döngüsü kurdum
‘bu döngü formun açılışın saydamdan belirgine olmasını sağlayacak
For d = 0 To 1 – 0.1 Step +0.1
‘d’nin degerini 0 olarak tanimladim
‘her 0.1’lik artışta sistemi 5 salise durduruyorumki saydamlık anlaşılsın
System.Threading.Thread.Sleep(50)
‘burada uygulama 2 iş birden yapabilir hale geliyor
Application.DoEvents()
‘opacity yani saydamlık derecesini d değişkenine atadım
Me.Opacity = d
‘programı yeniledim
‘böylece program açılırken en saydamdan en donuk hale geldi
Me.Refresh()
Next d
End Sub

‘3 tane değişken tanımladım
‘islemsecildi değişkeni boolean(evet/hayır) olarak seçtim ve
‘varsayılan olarak “hayır” değerini verdim
Private islemsecildi As Boolean = False
‘sayi değişkenine sayı değerlerini tutması için double değeri verdim
Private sayi As Double
‘islem degiskenine metin degeri tutacagi icin string degeri verdim
Private islem As String

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click, Button8.Click, Button9.Click, Button10.Click
‘üzerinde rakam yazan tüm buttonlardan herhangi birine tıklandığında
‘yapılacak işlemleri belirtiyoruz
If Not islemsecildi Then
txtsayi.Text &= sender.text
Else
‘islemsecildinin degeri varsa
‘sayı olarak senderdaki sayıyı atıyoruz
txtsayi.Text = sender.text
‘daha sonra tekrar islemsecildiyi false olarka belirtiyoruz
‘yani ilk haline döndürüyoruz
islemsecildi = False
End If
End Sub
Private Sub btncarp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncarp.Click, btnbol.Click, btncikar.Click, btntopla.Click
‘çarp, böl, topla yada çıkar buttonlarına basıldığında
‘islem değişkeni çağrımızı yapacağımız sendera işi gönderecek
islem = sender.text
‘bunu bir try catch kontrolüyle gerçekleştiriyoruz
Try
‘sayımız, textboxda yazan sayı
sayi = txtsayi.Text
‘boolean değerli işlemsecildi değişkenimize evet değeri atıyoruz
islemsecildi = True
Catch ex As Exception
‘işlem yapıldığında aksi bir durum oluşursa hata mesajı yayınlanacak
MsgBox(“Sayı düzgün formatta girilmedi”)
Finally
‘son olarak işlem düzgün olarak tamamlandığında
‘sayı yazan yer ve sayı hafızası temizlenecek
txtsayi.Text = “”
txtsayi.Focus()
End Try
End Sub

Private Sub btnesit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnesit.Click
‘üzerinde eşittir yazılı buttona basıldıktan sonra bir select case döngüsüyle
‘eşittirden önce çarpı denildiyse çarpıcak, bölü dediyse bölünecek vs..
Select Case islem
Case “*”
sayi *= txtsayi.Text
Case “/”
sayi /= txtsayi.Text
Case “-”
sayi -= txtsayi.Text
Case “+”
sayi += txtsayi.Text
End Select
‘döngü bittiğinde sayı, textboxa yazdırılacak
txtsayi.Text = sayi
End Sub

Private Sub btntemizle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btntemizle.Click
‘üzerinde c yazan temizle butonuyla hem textboxı boşaltıyoruz
‘hemde hafızadaki sayıyı sıfırlıyoruz
sayi = 0
islemsecildi = False
txtsayi.Text = “”
txtsayi.Focus()
End Sub

Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkapa.Click
‘kapat buttonuna tıklandığında nasıl form açılırken en saydamdan
‘en donuğa geliyorsa bundada aynısı oluyor
‘dolayısıyla kod açıklamalarını tekrar yazmıyorum
Dim d As Double
For d = 1 To 0 + 0.2 Step -0.2
System.Threading.Thread.Sleep(50)
Application.DoEvents()
Me.Opacity = d
Me.Refresh()
Next d
‘burada programı kapatıyoruz
Environment.Exit(0)
End Sub

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

‘programın güzel özelliklerinden biri mouse kullanmadan da rakamların girilebileceği
‘ancak numpad değerlerinin sadece pclerde çalışacağını, laptoplarda olmayacağını belirteyim
Select Case e.KeyCode
‘klavyeden 0’a basıldığında textboxa rakamı yazacak
‘diğer tuşlalarda da aynı işlem gerçekleşecek
Case Keys.NumPad0
txtsayi.Text = 0
Case Keys.NumPad1
txtsayi.Text = 1
Case Keys.NumPad2
txtsayi.Text = 2
Case Keys.NumPad3
txtsayi.Text = 3
Case Keys.NumPad4
txtsayi.Text = 4
Case Keys.NumPad5
txtsayi.Text = 5
Case Keys.NumPad6
txtsayi.Text = 6
Case Keys.NumPad7
txtsayi.Text = 7
Case Keys.NumPad8
txtsayi.Text = 8
Case Keys.NumPad9
txtsayi.Text = 9
End Select
End Sub
End Class