簡單實現(xiàn)C#窗體程序判斷是否閏年
利用VS2010的C#.NET能夠很簡單創(chuàng)建一個窗體。同時可以很輕松地為這個窗體布局,添加事件,下面用一個簡單的窗體程序,判斷是否閏年,來說明這個問題。同時加一個關(guān)閉事件,在用戶關(guān)閉窗體之前彈出對話框詢問用戶是否關(guān)閉此窗體?如下圖:
具體做法如下。
1、打開VS2010之后,文件->新建->項目->選擇其它語言中的->Visual C# ->Windows->Windows 窗體應(yīng)用程序
在最下方命名此項目的名稱為isLeapyear,之后點確定。
2、之后,雙擊Form1.cs,就進入到Form1的窗體設(shè)計模式。右鍵Form1.cs點擊查看代碼,則可以進入Form1.cs的后臺編輯模式。
這個Form1窗體,能夠像調(diào)整圖片那樣調(diào)整,在右方的工具箱,拖入如下圖的組件到窗體,Groupbox、TextBox、Label、Button。擺放到如下圖的位置。
如果找不到這個工具箱,則如下圖先點擊菜單欄上的圖標添加。
工具箱在加載數(shù)秒內(nèi)可能會提醒沒有工具,請耐心等待。
我們把工具箱的組件拖入窗體中,未必就能一次性地拖到一個準確位置,尤其是一些手殘黨。
此時可以利用工具欄上的各類尺寸與對齊工具,除了靠右端的水平、垂直居中對齊,選擇多個組件之后,水平、垂直間距相同工具之外。
還可以通過Ctrl鍵選擇兩個組件,之后,利用靠左方的使高度、寬度相同工具,頂端、底部對其工具,最終利用鼠標,不用寫任何代碼,搞出一個比較美觀的窗體。
3、布局完畢之后,我們開始對這個窗體進行編程。
首先點擊任何組件,都會在右方顯示屬性窗口,如果不顯示屬性窗口則點擊最上方的 屬性 圖標。
程序操作組件的表示,就是利用屬性中的 Name,比如如下圖,更新button1的Name為bt1之后,所有后臺的編程文件的命名都會自動更新,猶如Android中的R文件一樣。
在各個屬性窗口中,Groupbox的Text、Form的Text、Label的Text改成如下所示。而TextBox的TextAlign改成Center居中。
同時,為了讓我們的窗體不能夠被用戶調(diào)整大小、最大化,
在雙擊Form1之后,還要將其FormBorderStyle改成FixedDialog,同時將MaximizeBox從True改成False
雙擊任何組件能在后臺中為此組件添加最基本的事件。例如,雙擊Button1能夠在后臺添加一個Button1的處理函數(shù)。
同時點擊Form1,選擇事件按鈕,雙擊旗下的事件,則能夠添加相應(yīng)事件。
如下圖,就是為Form1窗體,添加窗體關(guān)閉事件FormClosing。
之后修改Form1.cs的代碼如下,
在Button1的點擊事件中展示了MessageBox.Show能夠彈出一個告警框,相當(dāng)于JavaScript的alert。
在Form1關(guān)閉事件中展示了一種帶有“是”、“否”按鈕的告警框的使用。相當(dāng)于JavaScript的Confirm。
之后在Button1的點擊事件利用到的正則表達式在《C#利用正則判斷輸入是否為純數(shù)字、容器類》(點擊打開鏈接)與《js利用正則表達式檢驗輸入內(nèi)容是否為網(wǎng)址》已經(jīng)說過了。主要判斷用戶輸入的是否是一個數(shù)字,而不是其它。
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; using System.Text.RegularExpressions;//用到了正則表達式 namespace isLeapYear { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //Form1關(guān)閉事件 private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show("是否關(guān)閉程序?", "標題欄", MessageBoxButtons.YesNo) == DialogResult.Yes) { e.Cancel = false;//確定關(guān)閉 } else { e.Cancel = true;//不關(guān)閉 } } //Button1的點擊事件 private void bt1_Click(object sender, EventArgs e) { if (new Regex("^[0-9]+$").IsMatch(textBox1.Text) || new Regex("^[-][0-9]+$").IsMatch(textBox1.Text))//利用正則表達式判斷是否輸入的是數(shù)字 { int year = int.Parse(textBox1.Text);//將textBox1的文本轉(zhuǎn)化為整形 if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { MessageBox.Show("輸入的是閏年!"); } else { MessageBox.Show("輸入的不是閏年!"); } } else { MessageBox.Show("輸入的不是正常的年份!請重新輸入!"); } } } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
欄 目:C#教程
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/6366.html
您可能感興趣的文章
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并打開的方法
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新聞效果的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已安裝軟件變化的方法
- 01-10C#實現(xiàn)多線程下載文件的方法
- 01-10C#實現(xiàn)Winform中打開網(wǎng)頁頁面的方法
- 01-10C#實現(xiàn)遠程關(guān)閉計算機或重啟計算機的方法
- 01-10C#自定義簽名章實現(xiàn)方法


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機閱讀
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實例總結(jié)
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10delphi制作wav文件的方法