Textbox'ın textchange event'ine aşağıdaki kodu yazdığınızda saat girişlerinizde : eklenir ve saat,dakika, saniye sınırlarının aşılmasını engeller. C# ile yazılmış bu kod VS 2005 ile denenmiştir. Bir ara lazım olmuştu o zaman yazmıştım. Arada aklıma geldikçe küçük kod parçaları paylaşacağım. Sizde sorularınızı iletişim bölümünden bana ulaştırabilirsiniz.
int i=0;
++i;
char[] ayrac ={ ':' };
string[] strarray = textBox1.Text.Split(ayrac);
try
{
switch (i)
{
case 1:
break;
case 2:
textBox1.Text += ":";
textBox1.SelectionStart = 3;
if (Convert.ToInt32(strarray[0]) >= 24)
{
textBox1.Text = "";
i = 0;
}
break;
case 4:
break;
case 5:
textBox1.Text += ":";
textBox1.SelectionStart = 6;
if (Convert.ToInt32(strarray[1]) >= 60)
{
textBox1.Text = "";
i = 0;
}
break;
case 7:
break;
case 8:
break;
case 9:
i = 0;
textBox1.Text = "";
if (Convert.ToInt32(strarray[2]) >= 60)
{
textBox1.Text = "";
i = 0;
}
break;
default:
break;
}
}
catch
{
textBox1.Text = "";
i = 0;
}
Döküman Güncellemesi: 02.02.2010
Kodun saniye kısmında hata yapılmış. Yorumu yazan arkadaşa teşekkür ederim. Yeni Kod açıklaması ile birlikte aşağıdadır. VS 2008 ile de test edilmiştir.
public partial class Form1 : Form
{
int i = 0;
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
++i;
char[] ayrac = { ':' };
string[] strarray = textBox1.Text.Split(ayrac);
try
{
switch (i)
{
case 1:
break;
case 2:
textBox1.Text += ":";
textBox1.SelectionStart = 3;
if (Convert.ToInt32(strarray[0]) >= 24)
{
textBox1.Text = "";
i = 0;
}
break;
case 4:
break;
case 5:
textBox1.Text += ":";
textBox1.SelectionStart = 6;
if (Convert.ToInt32(strarray[1]) >= 60)
{
textBox1.Text = "";
i = 0;
}
break;
case 7:
break;
case 8:
if (Convert.ToInt32(strarray[2]) >= 60)
{
textBox1.Text = "";
i = 0;
}
break;
case 9:
textBox1.Text = "";
i = 0;
break;
default:
break;
}
}
catch
{
textBox1.Text = "";
i = 0;
}
}
}

Görüldüğü gibi saat, dakika ve saniye zaman dilimleri dışına çıkarsa textbox silinecektir. Zaman dilimi tam girildikten sonra ekstradan giriş yapılmaya çalışırsa'da textbox silinecektir.