程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 04實現累加和計算功能並且實現textbox不允許輸入數字以外的字符但不包括退格鍵同時不允許第一個數值為0,textbox不允許

04實現累加和計算功能並且實現textbox不允許輸入數字以外的字符但不包括退格鍵同時不允許第一個數值為0,textbox不允許

編輯:關於.NET

04實現累加和計算功能並且實現textbox不允許輸入數字以外的字符但不包括退格鍵同時不允許第一個數值為0,textbox不允許


private void button1_Click(object sender, EventArgs e)
{
double number1, number2;

if (double.TryParse(txtNumber1.Text, out number1) == false)
{
MessageBox.Show("輸入的開始數值有誤");
txtNumber1.Focus();
txtNumber1.SelectAll();
return;
}
if (double.TryParse(txtNumber2.Text, out number2) == false)
{
MessageBox.Show("輸入的結束數值有誤");
txtNumber2.Focus();
txtNumber2.SelectAll();
return;
}
if (number2 < number1)
{
MessageBox.Show("第一個數值不能大於第二個數值,請重新輸入");
txtNumber1.Focus();
txtNumber1.SelectAll();
return;
}
double sum = 0;
for (double i = number1; i <= number2; i++)
{
sum = sum + i;
i++;
}
lbResult.Text = sum.ToString();
}

private void txtNumber1_TextChanged(object sender, EventArgs e)
{
lbResult.Text = "";
}

private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
//sender中存的就是對應控件觸發事件的對應控件對象。object是一個所有子類都可以訪問的父類。每個控件都對應了一個類
private void txtNumber1_KeyPress(object sender, KeyPressEventArgs e) //keypress事件
{
TextBox txtNumber1 = sender as TextBox; //父類轉子類 有了這一句才能實現對該窗體所有textbox都使用阻止輸入0的功能
if (e.KeyChar < '0' || e.KeyChar > '9')//條件的作用是阻止用戶輸入ascii表中對應的碼 只管說就是只能輸入數字
{
e.Handled = true;
}
//textbox屬性中的selectionstart 如果是選中一段文本,則為起始位置,如果沒有選中,則指示光標位置。
//注意!第一個位置為0
if (txtNumber1.SelectionStart == 0 && e.KeyChar == '0')//如果用戶光標在第一個位置最前面並且輸入0,就阻止用戶輸入
{
e.Handled = true;
}
if (e.KeyChar == 8) //判斷用戶輸入的是退格鍵 
{
e.Handled = false; //取消e.handled阻止用戶輸入的功能
}
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved