目前分類:C# (53)

瀏覽方式: 標題列表 簡短摘要

TextBox控制項:

TextBox控制項的功用,乃是可以讓使用者輸入文字資訊,並顯示在此TextBox控制項上。

(1) TextBox控制項的常用、且專用成員:

TextBox控制項名稱.Text:一個string。代表該TextBox控制項中顯示的文字。

TextBox控制項名稱.Font:一個Font物件。表示該TextBox控制項中所顯示之文字的字型與字體。

TextBox控制項名稱.MultiLine:一個bool。若設為true,表示該TextBox控制項允許文字換行,若為false則否。預設為false

TextBox控制項名稱.AcceptsReturn:一個bool。若設為true,表示當使用者在該TextBox控制項上輸入<Enter>鍵時文字會換行,若為false則不會。預設是false

注意,AcceptsReturn必須在MultiLinetrue時才有效。也就是說若MultiLinefalse,就算AcceptsReturntrue,仍無法換行。

TextBox控制項名稱.AcceptsTab:一個bool。若設為true,表示當使用者在該TextBox控制項上輸入<Tab>鍵時會輸入Tab字元,若為false則不會輸入Tab字元而是跳到下一個TabIndex順序的控制項。預設是false

注意,AcceptsTab必須在MultiLinetrue時才有效。也就是說若MultiLinefalse,就算AcceptsTab true,仍無法輸入Tab字元。

TextBox控制項名稱.MaxLength:一個int,其值>=0。表示在該TextBox控制項中能輸入的最大字元數。若設為0表示沒有限制。預設是32767

TextBox控制項名稱.CharacterCasing:一個CharacterCasing物件,表示該TextBox控制項中文字的大小寫設定。CharacterCasing物件可用以下方法來取得:

CharacterCasing.Lower:無論初始字串為何,一律改成小寫。

CharacterCasing.Upper:無論初始字串為何,一律改成大寫。

CharacterCasing.Normal:大寫就是大寫,小寫就是小寫(這是預設值)

TextBox控制項名稱.Lines:一個string的矩陣。以TextBox控制項中每一行文字為其元素,如第一行文字為其第0個元素、第二行文字為其第1個元素等。

TextBox控制項名稱.PasswordChar:一個char,若其不為空字元,則每個輸入於此TextBox控制項的字元都會顯示成此char。適用於用此TextBox控制項輸入密碼等機密資料、不想讓別人能藉由螢幕看見資料時。如:

textBox1.PasswordChar = '*';

那麼在TextBox1控制項中輸入文字,就會變成:image

TextBox控制項名稱.ScrollBars:一個ScrollBars物件,用以設定此TextBox控制項的拉軸呈現方式。ScrollBars物件可用以下方法取得:

ScrollBars.None:不顯示拉軸(這是預設值)

ScrollBars.Vertical:顯示垂直拉軸。

ScrollBars.HoriZontal:顯示水平拉軸。

ScrollBars.Both:顯示垂直、水平拉軸。

TextBox控制項名稱.TextAlign:一個HorizontalAlignment物件,用以設定此TextBox控制項中文字的對齊方式。HorizontalAlignment物件可用以下方法取得:

HorizontalAlignment.Left:文字靠左對齊(預設值)

HorizontalAlignment.Center:文字正中對齊。

HorizontalAlignment.Right:文字靠右對齊。

TextBox控制項名稱.WordWrap:一個bool。若設為true,表示當輸入此TextBox控制項的文字超過了TextBox控制項的長度時,會自動換行。若設為false,則不會自動換行。預設是true

(2) TextBox控制項的常用、且專用事件:

TextChanged事件:當使用者改變了該TextBox控制項中的內容時,就會觸發本事件。其事件名稱TextChanged事件參數類別EventArgs

EventArgs類別並不具有類別成員。

 

 

上一篇:linklabel

下一篇:richtextbox

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

LinkLabel控制項:

 

LinkLabel控制項是Label控制項的進化,比Label控制項還要多一個功能:即可將LinkLabel控制項上的某一段文字當作超連結使用,在使用者點選後會開啟某個網頁。

(1) LinkLabel控制項擁有上述所有Label控制項的專用成員。以下介紹的,是LinkLabel控制項所擁有、而Label控制項沒有的專用成員:

LinkLabel控制項名稱.LinkColor:一個Color物件。表示在該LinkLabel控制項中、超連結文字的顏色。

LinkLabel控制項名稱.ActiveLinkColor:一個Color物件。表示該LinkLabel控制項中、超連結文字被點選時所顯示的顏色。

LinkLabel控制項名稱.VisitedLinkColor:一個Color物件。表示該LinkLabel控制項中的超連結文字,在網頁已被瀏覽後所顯示的顏色。

LinkLabel控制項名稱.DisabledLinkColor:一個Color物件。若該LinkLabel控制項中的超連結文字功能已失效,則顯示此顏色。

LinkLabel控制項名稱.LinkVisited:一個bool。若為true,表示該超連結所指事的網頁已被使用者瀏覽過,若為false則否。

LinkLabel控制項名稱.LinkArea:一個LinkArea物件,用來表示該LinkLabel控制項的哪部分文字被設定為超連結。此物件可用以下方式建立:

LinkLabel控制項名稱.LinkArea = new LinkArea(N1,N2);

其中,N1N2都是整數。其意思是說,在LinkLabel控制項之文字中,由序數第N1的文字開始(包含序數第N1的文字)、以及再往下數N2個文字,這些文字被拿來作為超連結。例如,LinkArea(3,5)表示序數3,4,5,6,75個文字被拿來作超連結。

LinkLabel控制項名稱.LinkBehavior:一個LinkBehavior物件,表示超連結文字之底線要如何顯示。LinkBehavior物件可用以下方法來取得:

LinkBehavior.SystemDefault:系統預設的顯示底線模式。此為預設值。

LinkBehavior.AlwaysUnderline:無論在怎樣的情況下都要顯示底線。

LinkBehavior.HoverUnderline:只有在滑鼠游標移到超連結文字上時才顯示底線。

LinkBehavior.NeverUnderline:不顯示底線。

(2) LinkLabel控制項的專用事件:

LinkClicked事件:在超連結文字被使用者點選時會觸發。其事件函式的用法例如:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

{   System.Diagnostics.Process.Start("URL網址或系統路徑");   }

如此一來,在使用者點選超連結文字時,系統就會開啟預設的瀏覽器,連線入該網頁。或是開啟系統路徑上的資料夾或檔案。

 

 

上一篇:label

下一篇:textbox

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

文字控制項可藉由顯示文字讓使用者獲取訊息,也可以讓使用者輸入文字訊息。其包括Label控制項、LinkLabel控制項、TextBox控制項、RichTextBox控制項。

1. Label控制項:

Label控制項的功能就只是顯示文字而已,使用者無法藉由Label控制項輸入任何資料、進行任何操作。

(1) Label控制項的常用、且專用成員有:

Label控制項名稱.Text:一個String。表示該Label控制項中所顯示的文字。

如:Label1.Text= "我是文字";

則顯示出的Label控制項這樣子就是: image

Label控制項名稱.BorderStyle:一個BorderStyle物件。表示該Label控制項的邊框形式。BorderStyle物件可用以下方法來取得:

BorderStyle.None:無框線(這是預設值)

BorderStyle.Fixed3D:立體凹凸框線。如: image

BorderStyle.FixedSingle:實線框線。如: image

Label控制項名稱.Font:一個Font物件。表示該Label控制項中所顯示之文字的字型與字體。

Label控制項名稱.Image:一個Image類別物件。表示此Label控制項的背景圖案。

Label控制項名稱.TextAlign:一個ContentAlignment物件。表示此文字對齊Label控制項的方式。ContentAlignment物件可用以下方法來取得:

ContentAlignment.TopLeft:文字向左上角對齊(這是預設值)

ContentAlignment.TopCenter:文字向正上對齊。

ContentAlignment.TopRight:文字向右上角對齊。

ContentAlignment.MiddleLeft:文字向左邊對齊。

ContentAlignment.MiddleCenter:文字向正中對齊。

ContentAlignment.MiddleRight:文字向右邊對齊。

ContentAlignment.BottomLeft:文字向左下角對齊。

ContentAlignment.BottomCenter:文字向正下對齊。

ContentAlignment.BottomRight:文字向右下角對齊。

 

 

上一篇:button radiobutton checkbox numericupdown

下一篇:linklabel

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按鈕控制項可讓使用者藉著點取按鈕來觸發事件,或選取物件、數值、文字。其包括Button控制項、RadioButton控制項、CheckBox控制項、NumericUpDown控制項。

  1. Button控制項:

可供使用者按下。程式設計者可以設計按下按鈕後所觸發的事件、所執行的程式碼。

Button控制項的常用、且專用成員:

Button控制項名稱.Text:一個string。乃是在該Button控制項中顯示的文字。

Button控制項名稱.Image:一個Image類別物件。表示此Button控制項的背景圖案。

 

2. RadioButton控制項:

乃是一組按鈕,提供使用者在這一組按鈕內進行選取(只能進行單選)。若一份表單內有多個組,則每個組必須放在不同的容器控制項內,以做區分。

(1) RadioButton控制項常用、且專用的成員有:

RadioButton控制項名稱.Appearance:一個Appearance物件。表示該RadioButton控制項顯示出來的外觀。Appearance物件可用以下方法來取得:

Appearance.Normal:是預設值。表示RadioButton控制項的外觀是:image

Appearance.Button:表示RadioButton控制項的外觀是:image

 

RadioButton控制項名稱.Checked:一個bool。若為true,表示該RadioButton控制項已被選取,若為false表示尚未被選取。

RadioButton控制項名稱.Text:一個string。代表該RadioButton控制項的選項文字。

RadioButton控制項名稱.Image:一個Image物件。代表該RadioButton控制項的選項圖片。通常,若一個RadioButton控制項有設定選項圖片,最好就不要設定選項文字。否則兩者可能重疊顯示,造成使用者混淆。

(2) RadioButton控制項常用、且專用的事件有:

CheckedChanged事件:當該RadioButton控制項被選取、或同組中別的RadioButton控制項被選取時(也就是該RadioButton控制項的Checked成員之值改變時),就會觸發。其事件名稱CheckedChanged事件參數類別EventArgsEventArgs類別沒有類別成員。

(3) 使用範例:

說明:該範例中有一個panel1,在這個panel1裡面放置了label1radioButton1radioButton2radioButton3radioButton4button1,其外面放了label2textBox1

private void Form1_Load(object sender, EventArgs e)   //表單控制項設定

{

      panel1.BorderStyle = BorderStyle.FixedSingle;

      label1.Text = "請問您想選擇哪樣贈品?";

      radioButton1.Text = "腳踏車";

      radioButton2.Text = "小冰箱";

      radioButton3.Text = "精緻書桌組";

      radioButton4.Text = "吉他";

      label2.Text = "您選擇了:";            

      button1.Text = "確定";

}

 

private void button1_Click(object sender, EventArgs e)    //提交表單

{

      string present = "";

      if (radioButton1.Checked) { present = radioButton1.Text; }

      else if (radioButton2.Checked) { present = radioButton2.Text; }

      else if (radioButton3.Checked) { present = radioButton3.Text; }

      else if (radioButton4.Checked) { present = radioButton4.Text; }

      textBox1.Text = present;

}

該程式顯示如下:

image

3. CheckBox控制項:

RadioButton控制項一樣乃是一組按鈕,提供使用者在這一組按鈕內進行選取。若一份表單內有多個組,則每個組必須放在不同的容器控制項內,以做區分。

CheckBox惟二和RadioButton不同的,其一為RadioButton只能供使用者單選、而CheckBox能夠提供複選;其二為外觀。

(1) CheckBox控制項專用的成員、成員函式、事件,均和RadioButton相同,用法也一樣。故不贅述。

(2) 使用範例(2.(3)RadioButton使用範例,改成CheckBox版本)

說明:該範例中有一個panel1,在這個panel1裡面放置了label1checkBox1checkBox 2checkBox 3checkBox 4button1,其外面放了label2textBox1

private void Form1_Load(object sender, EventArgs e)  //表單控制項設定

{

      panel1.BorderStyle = BorderStyle.FixedSingle;

      label1.Text = "請問您想選擇哪些贈品?";

      checkBox1.Text = "腳踏車";

      checkBox2.Text = "小冰箱";

      checkBox3.Text = "精緻書桌組";

      checkBox4.Text = "吉他";

      label2.Text = "您選擇了:";           

      button1.Text = "確定";

}

 

private void button1_Click(object sender, EventArgs e)  //提交表單

{

      string present = "";

      if (checkBox1.Checked) { present += checkBox1.Text + ","; }

      if (checkBox2.Checked) { present += checkBox2.Text + ","; }

      if (checkBox3.Checked) { present += checkBox3.Text + ","; }

      if (checkBox4.Checked) { present += checkBox4.Text + ","; }

      textBox1.Text = present;

}

該程式顯示如下:

image

4. NumericUpDown控制項:

其外觀如下:

image

此控制項讓使用者可藉由按鈕來決定其數值。按下可使其數字增值,按下可使其數字減值。

(1) NumericUpDown控制項常用、且專用的成員:

NumericUpDown控制項名稱.Value:一個decimal。即是該NumericUpDown控制項所顯示的數字之值。預設為0

NumericUpDown控制項名稱.Increment:一個decimal。表示在按一次鍵時,該NumericUpDown控制項之數字會增加或減少多少。預設是1

NumericUpDown控制項名稱.DecimalPlaces:一個int。表示該NumericUpDown控制項之數字的小數點位數。預設為0。例如,若此成員為2,則NumericUpDown控制項顯示為:

image

NumericUpDown控制項名稱.Font:一個Font物件。表示該NumericUpDown控制項在顯示數字時,要用什麼字型來顯示。

NumericUpDown控制項名稱.TextAlign:一個HorizontalAlignment物件,用以設定此NumericUpDown控制項中數字的對齊方式。HorizontalAlignment物件可用以下方法取得:

HorizontalAlignment.Left數字靠左對齊(預設值)

HorizontalAlignment.Center數字正中對齊。

HorizontalAlignment.Right數字靠右對齊。

NumericUpDown控制項名稱.UpDownAlign:一個LeftRightAlignment物件,用以設定此NumericUpDown控制項中image

按鈕的對齊方式。LeftRightAlignment物件可用以下方法取得:

LeftRightAlignment.Left按鈕靠左對齊。

LeftRightAlignment.Right按鈕靠右對齊(預設值)

(2) NumericUpDown控制項常用、且專用的事件:

ValueChanged事件:當NumericUpDown控制項中的數字被改變時就會觸發。其事件名稱ValueChanged事件參數類別EventArgsEventArgs類別沒有類別成員。

 

 

上一篇:多表單專案

下一篇:label

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

二、多表單專案的設計方法

 

一個Windows Form應用程式剛被新增時,預設上一個專案只擁有一個表單。欲在此專案中增加表單,可在C#編輯器右上方的方案總管,即是:

image

在專案名稱(即上圖的WindosFormApplication1)上按右鍵,然後選擇「加入」àWindows Form,如下圖:

image

再取選 image ,按下 image就可以為此專案新增一個表單。新增的表單會在方案總管中出現,如:

image

其中,Form1Form2就是專案中現有的兩個表單之名稱。在C#中,cs類別檔的副檔名,而Form1Form2也被當成兩個不同的類別。程式設計者可在方案總管中將cs檔改名,如Form1.cs改成myform.cs,改完後編輯器會詢問使用者,是否須將所有有關Form1的程式碼都改成myform。不改亦無妨,只是習慣上會改,以方便辨識。

(1) 設定程式執行時所顯示的表單:

在方案總管中開啟Program.cs檔,在其中的Main()函式中,寫下:

Application.Run(new 表單類別名稱());

即可設定該表單為程式執行時所顯示的表單(稱之為「初始表單」)。該行程式碼預設寫為:

Application.Run(new Form1());

(2) 有一個觀念很重要:使用者所使用的表單,是「表單類別物件」而不是「表單類別」。有了表單類別之後,還要宣告表單類別物件。宣告方法而一般的類別是一樣的,即是:

表單類別名稱 表單名稱 = new 表單類別名稱()

如在Program.cs檔、其中的Main()函式中的Application.Run(new Form1());,即是建立了一個Form1類別物件,讓程式在執行時開啟這個表單類別物件。

(3) 表單的資料傳遞(表單傳值)

所謂表單傳值,就是將某表單A的某成員傳值入另一個表單B的某成員。實際應用上,譬如像是在某表單A的控制項中輸入資訊,而將這個輸入資訊在另一個表單B的控制項中顯示。要達到這個目的,須有以下先決條件:

※ 在一表單中要可以呼叫其他表單的類別物件。

※ 在一表單中要可以呼叫其他表單類別物件的控制項。一表單所有的控制項,事實上也是該表單類別物件的成員,就算程式設計者是從工具箱中將之拖曳入表單的,C#也會在該表單類別中自動宣告這些控制項成員。譬如,從工具箱中拖曳一個TextBox控制項給Form1表單,則在Form1.Designer.cs這個檔案中,就會為Form1類別多建立一個TextBox成員,即是:

private System.Windows.Forms.TextBox textBox1;

這行程式碼,是在TextBox控制項被拖曳至表單時自動由C#建立的。

要注意的是,此成員控制項預設是private,即是不能讓其他表單類別存取。將private改成public,此成員控制項便可被其他表單存取。

表單傳值的方法有許多種,以下只介紹常用者:

(3-1) 共用類別共享靜態成員法:

※ 步驟一:建立一個此專案的共用類別:

在方案總管中,於當前專案名稱上按右鍵(如同加入新表單時的步驟),按「加入」à類別,如下圖:

image

再取選 image ,按下 image

就可以在此專案中加入新的類別。

※ 步驟二:建立好的類別,預設名稱為Class1(若不滿意這個名稱,可自行更改)。其程式碼在Class1.cs這個檔案中,在方案總管中可找到這個檔案。這個Class1類別可供所有在該專案中的檔案存取。

※ 步驟三:Class1的程式碼,預設為:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace WindowsFormsApplication1

{

    class Class1

    {

    }

}

以下區塊就是定義Class1類別的成員與成員函式之處:

    class Class1

    {

    }

{} 之間,為專案中所有的表單類別,都宣告一個靜態表單成員,方法為:

public static 初始表單類別 表單類別物件名稱 = new 初始表單類別();

例如(假設專案中有三個表單類別,分別是Form1Form2Form3)

public static Form1 f1 = new Form1();

public static Form2 f2 = new Form2();

public static Form3 f3 = new Form3();

※ 步驟四:

Form1.cs中將Class1類別的f1成員設定為Form1本身。如:

Class1.f1=this;

Form2.cs中將Class1類別的f2成員設定為Form2本身。如:

Class1.f2=this;

Form3.cs中將Class1類別的f3成員設定為Form3本身。如:

Class1.f3=this;

如此一來,此專案中每個表單都可藉由宣告Class1類別物件來讀取其他表單以及其他表單的控制項(控制項必須是public成員才行)

 

 

 

 

上一篇:表單應用程式

下一篇:多表單專案

按此前往C#完整教學目錄

 

 

上一篇:表單

下一篇:button radiobutton checkbox NumericUpDown

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

每個C#視窗應用程式在預設時都會建立一個表單,名稱為Form1。一個空表單的外觀如下:

image

在這個表單上,可以加入許多「控制項」。控制項的功用有二,一是讓使用者藉由操作此控制項來對程式輸入命令,二是在控制項中輸出某些資訊讓使用者知曉。

一、表單的設計方法

※註(重要!):在一份表單的設計的程式碼檔案中,關鍵字:this,代表該程式碼檔案所對應到的表單本身。

1. 表單的常用成員如下(本分類依照屬性事窗中的分類):

(1) 外觀:

表單名稱.ForeColor:一個Color物件。表示表單上的「前景色」,也就是所有文字的顏色。

表單名稱.BackColor:一個Color物件,表示表單背景顏色。

表單名稱.BackgroundImage:一個Image物件,表示表單背景圖案。

表單名稱.BackgroundImageLayout:一個ImageLayout物件,表示表單背景圖案的排列方式。ImageLayout物件可用以下方法來取得:

ImageLayout.Tile:表示要重覆顯示圖片。這是預設值。

ImageLayout.None:表示不重覆顯示圖片,圖片靠表單左上角排列。

ImageLayout.Center:表示不重覆顯示圖片,圖片靠表單中央排列。

ImageLayout.Stretch:表示不重覆顯示圖片,且圖片大小會被調整成與表單大小相同,因此可能改變圖片原本的長寬比例。

ImageLayout.Zoom:表示不重覆顯示圖片,且圖片大小會依表單放大而防大、依表單縮小而縮小,但不會改變圖片原本的長寬比例。

表單名稱.Cursor:一個Cursors物件。表示當游標移到表單上時,游標的圖案。Cursors物件可用以下方法來取得:

Cursors.游標圖案名稱

其中,游標圖案名稱的數量很多,在此不詳述。讀者可以到「屬性面板」按下屬性按鈕image

後,至 cursor屬性右方欄位設定要怎樣的游標圖案。

Font:一個Font物件。表示表單上文字的字型。

Text:一個string。表單的標題文字。

(2) 行為:

表單名稱.Enabled:一個bool。若為true,表示表單接受使用者的指令。若為false則表單不接受只用者指令。預設是true

 

(3) 配置:

表單名稱.AutoScroll:一個bool。若為true,表示當表單中內容溢出表單時,會自動產生捲軸;若為false則不會。預設是false

表單名稱.AutoSizeMode:一個AutoSizeMode物件,表示使用者是否能手動調整表單尺寸。AutoSizeMode物件可用以下方法來取得:

AutoSizeMode.GrowOnly:表示使用者可以手動調整表單尺寸。這是預設值。

AutoSizeMode.GrowAndShrink:表示使用者不能手動調整表單尺寸。

表單名稱.Location:一個Point物件,表示該表單的座標位置。Point物件的建立方法是:

變數名稱 = new Point(X,Y);

其中XY均為int,且是非負整數,各代表該表單的X座標值與Y座標值。

表單名稱.Size:一個Size物件,表示該表單的尺寸。Size物件的建立方法是:

變數名稱 = new Size(W,H);

其中WH均為int,且是非負整數,各代表該表單的橫向寬與縱向高。

表單名稱.MaximumSize:一個Size物件,表示該表單所允許的最大尺寸。

表單名稱.MinimumSize:一個Size物件,表示該表單所允許的最小尺寸。

表單名稱.StartPosition:一個FormStartPosition物件,代表表單的初始位置。 FormStartPosition物件可用以下方法取得:

FormStartPosition.CenterScreen:代表表單的初始位置在螢幕正中央。

FormStartPosition.CenterParent:代表表單的初始位置在其父視窗的正中央。

FormStartPosition.WindowsDefaultLocation代表表單的初始位置由Windows作業系統自行設置。這是預設值。

()要注意,若要以程式碼的方式設定StartPosition成員,程式碼須寫在:

public 表單名稱()

{}

的兩個大括號之間,否則看不出效果。

表單名稱.WindowState:一個FormWindowState物件,代表表單的初始狀態。FormWindowState物件可用以下方法取得:

FormWindowState.Normal:表單的初始狀態為一般狀態,這是預設值。

FormWindowState.Maximized:表單的初始狀態為視窗最大化狀態。

FormWindowState.Minimized:表單的初始狀態為視窗最小化狀態。

()要注意,若要以程式碼的方式設定WindowState成員,程式碼須寫在:

public 表單名稱()

{}

的兩個大括號之間,否則看不出效果。

(4) 視窗樣式:

表單名稱.ControlBox:一個bool。若為true表示要在表單的標題列顯示image

這三個按鈕,若為false則否。預設是true

表單名稱.Opacity:一個double,值的範圍為0~1。表示表單的「不透明度」。其值越大表示越不透明,越小表示越透明。

 

2. 表單的常用成員函式:

表單名稱.Show():無回傳值。可開啟該表單。開啟之後,仍可對其父表單進行操作。

表單名稱.ShowDialog():回傳一個DialogResult物件(在此不談之)。可強制開啟該表單。不過開啟之後,無法對其父表單進行操作。如在A表單中,按下某個按鍵而使B表單被以ShowDialog()的方式開啟,則此時只能操作B表單、不能操作A表單了。

表單名稱.Close():無回傳值。可關閉該表單。一個表單被關閉之後,其原先在記憶體中的容量就會被釋放,故不能夠再用Show()方法開啟,但還是能被用ShowDialog()方法開啟。

表單名稱.Hide():無回傳值。可隱藏該表單。一個表單被隱藏之後,其原先在記憶體中的容量不會被釋放,還能夠被用Show()ShowDialog()這兩個方法開啟。

 

3.表單常用且專用的事件:

任何事件(包括表單事件、控制項事件),都有一個「事件函式」,用以給使用者來撰寫事件發生時的程式碼。事件函式的預設格式如下:

private void 控制項名稱_事件名稱(object sender, 事件參數類別 e)

{

}

而對任何表單事件來說,上述格式中的控制項名稱,則一律變為表單名稱

以下介紹表單常用且專用的事件:

Load事件:在表單被載入至記憶體中時(也就是使用者呼叫此表單時)會觸發。比如,建立表單應用程式後會隨之出現的程式碼:

        private void Form1_Load(object sender, EventArgs e)

        {

 

        }

其大括號內就是擺放Load事件觸發後要執行的程式碼。

事件名稱Load,其事件參數類別EventArgs。而EventArgs類別並不具有類別成員。

Move事件:在表單被使用者移動時會觸發。其事件名稱Move,其事件參數類別EventArgs。而EventArgs類別並不具有類別成員。

Resize事件:在表單被使用者調整大小時會觸發。其事件名稱Resize,其事件參數類別EventArgs。而EventArgs類別並不具有類別成員。

FormClosing事件:在使用者下達關閉表單的命令之後、而表單正式關閉之前會觸發。其事件名稱FormClosing,其事件參數類別FormClosingEventArgs。而FormClosingEventArgs類別有成員如下:

FormClosingEventArgs類別物件名稱.Cancel:一個bool。預設為false。若設為true,表示要取消關閉表單的命令。

 

 

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

C#表單應用程式(windows form application)

 

一、建立C#表單應用程式:

檔案à新增專案

image

選擇Windows Form 應用程式」:

image

 

名稱處,可輸入該專案的名稱。

再按確定」。接著,C#會自動產生如下列般的程式碼:

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 WindowsFormsApplication1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

 

        }

    }

}

其中,專案名稱在上例為WindowsFormsApplication1,表單名稱為Form1。而Form1_Load區域,其中若寫下程式碼,這些程式碼會在表單被程式讀取時開始執行。

 

 

二、操作介面:

image

1. 工具箱:

點開畫面左上方的「工具箱」,將想要布置在表單上的控制項(如按鈕、文字方塊、圖像區塊)利用滑鼠拖曳到表單上某位置,放開滑鼠擺放之。如下圖,即是把一個按鈕(button)拉到表單上:

image

若沒有看到左上方的「工具箱」,可打開「檢視」à「其他視窗」à「工具箱」,如下圖:

image

2. 程式碼介面與表單介面:

如下圖,左邊的是程式碼介面,點開後程式碼後出現在眼前。右邊的image 是表單介面,點開後表單的配置就出現在眼前。程式設計者常不停在兩者間切換,以檢查表單程式的顯示與效果是否如預期。

image

 

3. 控制項:

在表單應用程式中,可以利用不同的控制項,來決定程式要實現的功能。每一種控制項都有不同的觸發方式(稱為「事件」),觸發後要執行的程式碼則是由程式設計者來設計。控制項擺在上述的工具箱中,新手要建立控制項,可直接由工具箱中取出。

(1) 每一個控制項都有其「屬性」,比如控制項的大小,其在表單中的XY座標位置,以及內含文字、背景顏色等等等。要查看某個控制項的屬性,可以先在表單上點及該控制項,然後按下右下方的「屬性」,在按下上方的按鈕。如下圖,一個button控制項的Text屬性為「我是按鈕」,則「我是按鈕」四個字就顯示在

該按鈕之上。

image

(2) 每一個控制項都有其相對應的「事件」,讓程式設計者決定在事件觸發後要執行怎樣的程式碼。比如說上例的button,雙擊之,程式碼介面就會出現一段程式碼,形式如:

        private void button1_Click(object sender, EventArgs e)

        {

        }

{}之內的程式碼,就表示程式執行後,點擊該按鈕會執行的程式碼。

範例如:

namespace WindowsFormsApplication1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            button1.Text = "我點了我自己";

button1.Size = new Size(100, 100);

        }

    }

}

按下F5執行程式後出現表單:

image

點擊按鈕後,變成:

image

按鈕的文字、以及大小,都按照程式碼而改變了!

 

 

關於控制項、事件更詳細的介紹,請看「表單與控制項」章節的說明。

 

 

上一篇:變數轉換

下一篇:表單

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

 

 

 

(1) 隱含轉換:

以下例子是使用於數字的轉換。如整數轉換為浮點數。以下是int隱含轉換為double的例子:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int a = 3;

            double b = a;

            Console.WriteLine(b);

 

            Console.Read();

        }

    }

}

執行後顯示:3

 

(2) 明確轉換:

明確轉換須在變數前用括號指出要轉換的變數型態,如:

(新變數型態)舊變數

明確轉換有可能在轉換後使變數的資訊變得不精確,相比之下隱含轉換就沒有這個問題。以下是double明確轉換為int的例子:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            double b = 3.7;

            int a = (int)b;

            Console.WriteLine(a);

 

            Console.Read();

        }

    }

}

執行後顯示:3

b的值在經過無條件捨去運算後,被存入了a

 

 

(3) 其他常見的變數轉換:

變數.ToString():將變數轉換為字串顯示。

Convert.ToInt32(變數)變數轉換為int。如:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            string s = "311";

            int a = Convert.ToInt32(s);

            Console.WriteLine(a);

 

            Console.Read();

        }

    }

}

執行後顯示:311

 

 

 

 

上一篇:迴圈

下一篇:表單應用程式

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

迴圈:

迴圈可以重複執行某一段程式碼,並對某些變數進行重複的操作。

利用forwhile等關鍵字可以寫出迴圈,常用寫法如下:

(1) for迴圈:

for ( 變數型態 變數名稱 = ; 執行條件; 控制程式碼)

{

    內容程式碼

}

兩個小括號( )內可分為三部分:

第一部份是變數型態 變數名稱 = ;。這是迴圈的初始設定,在for迴圈剛開始時就會執行,且只執行一次。

第二部分是執行條件,乃是迴圈執行的條件,每一次迴圈內的內容程式碼要被執行前,這個執行條件就會被檢查一次,若條件成立則繼續執行內容程式碼,若不成立則結束迴圈。

第三部分是控制程式碼,用來控制迴圈執行的次數。每一次迴圈內的內容程式碼被執行完後,控制程式碼就會被執行一次。

範例,求31次方到310次方之值:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int result = 1;

            for (int i = 1; i <= 10; i++)

            {

                result = result * 3;

                Console.WriteLine("3" + i + "次方是" + result);

            }

 

            Console.Read();

        }

    }

}

執行後顯示:

image

範例說明:

-1:此for迴圈的初始設定,是將整數變數i設為1,在i <=10之情況下執行,每執行一次i的值就增加1。由此可見,當迴圈執行10次之後,i的值會是11,也就是1+10,因此使條件i <=10不成立而造成迴圈結束。可知,此迴圈只執行10次。

-2:此for迴圈的內容程式碼是:

                result = result * 3;

                Console.WriteLine("3" + i + "次方是" + result);

表示此迴圈每執行一次,變數result的值就會變成原先的3倍,並且輸出一行文字來顯示那時的result值。由於迴圈執行了10次,故知總共顯示了10行。譬如第3行就表示了迴圈執行第3次時的i值和result值。

(2) 強制中斷執行、強制跳過執行:

(2-1) 如上所述,一旦執行條件不成立,for迴圈就不會繼續執行。但在某些情況下,程式設計者需要令for迴圈在執行條件不成立之前,就強迫中斷for迴圈的執行。此時可用break關鍵字來強迫for迴圈中斷。譬如,將之前的範例問題改成:

2N-1次方小於100000,而2N次方大於100000,問N為多少?

這一題解法如下:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int result = 1;

            for (int i = 1; i > 0; i++)

            {

                result = result * 2;

                if (result > 100000)

                {

                    Console.WriteLine("N="+ i );

                    break;

                }

            }

 

            Console.Read();

        }

    }

}

執行後顯示:N=17

範例說明:題目只說2N-1次方小於100000,而2N次方大於100000,光憑這樣無法知道到底要執行幾次迴圈才能得到答案。故先把執行條件設計成i>0,因為每執行一次迴圈i都會增加1,故知這條件永遠都成立。這也就是說,迴圈會一直跑下去,直到找到N為止。而在result大於100000N找到了,迴圈沒有必要再跑了,就用break強制迴圈結束。(執行break後,其後的內容程式碼不會再被執行)

(2-2) 在某些情況下,程式設計者需要令for迴圈跳過某次執行,然後去執行下一次。此時可用關鍵字continue來跳過。譬如,將之前的範例問題改成:

已知N是偶數,且2N-1次方小於50000,而2N次方大於50000,問N為多少?

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int result = 1;

            for (int i = 1; i > 0; i++)

            {

                result = result * 2;

                if (i % 2 == 1) { continue; }

                if (result > 50000)

                {

                    Console.WriteLine("N=" + i);

                    break;

                }

            }

 

            Console.Read();

        }

    }

}

範例說明:既然已知N是偶數,那i為奇數(i%2==1)的情況就不要理它了,直接用continue跳過。之後會進入到下一次執行,而本次執行中,continue後面的:

          if (result>50000)

        {

        Console.WriteLine("N=" + i);

        break;

    }

則不會被執行。

(3) while 迴圈:

while 迴圈跟for 迴圈在執行的邏輯上很類似,只是寫法比較簡單。while 迴圈寫法為:

while (執行條件)

{

    內容程式碼

}

for迴圈一樣,while每執行一次內容程式碼之前,都會檢查執行條件是否成立,成立就執行,不成立就結束迴圈。以範例來說,上述(1)中的問題:求21次方到210次方之值,用while迴圈來寫是這樣的:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int result = 1;

            int i = 1;

            while (i <= 10)

            {

                result = result * 2;

                Console.WriteLine("2" + i + "次方是" + result);

                i++;

            }

 

            Console.Read();

        }

    }

}

其中原本for迴圈內的初始設定int i=1;被移到迴圈之外,而原本的控制程式碼i++被寫到內容程式碼裡了。而執行後的顯示在螢幕上的結果是一樣的。

註:while迴圈也可以使用breakcontinue來中斷迴圈、跳過執行。

 

 

上一篇:if判斷式和邏輯運算子

下一篇:c#-變數轉換

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

if判斷式與邏輯運算子:

(1) if判斷式可用來判斷條件是否成立,並且依照條件之成立與否,來執行不同的程式碼。if判斷式的標準形式為:

簡易型:

If (條件)

{

程式碼

}

表示在條件成立的情況下執行才程式碼

另外是複雜型:

If (條件一)

{

程式碼一

}

else If (條件二)

{

程式碼二

}

else If (條件三)

{

程式碼三

}

else

{

後備程式碼

}

執行的流程是:

先看條件一是否成立,若成立就會執行程式碼一;若不成立就看條件二是否成立,成立就執行程式碼二;這個寫法可以類推到條件三條件四等等,若所有條件都不成立,就會執行後備程式碼。上述的條件,和布林變數一樣具有true(條件成立false(條件不成立。這些條件的寫法,通常有兩種:

(1-1)

第一種寫法使用到「比較運算子」,去比較其左右兩邊的變數或值。常用的比較運算子如下:

比較運算子

意義

==

左邊等於右邊

!=

左邊不等於右邊

左邊大於右邊

>=

左邊大於或等於右邊

左邊小於右邊

<=

左邊小於或等於右邊

如:1>10這個條件,他的意義是「數字1大於數字10」,很明顯這個條件是不成立的,也就是說1>10=false

又如:若已先設定int a = 11; a>10這個條件的意義是「數字11大於數字10」,條件成立。

再如:若已先設定string b = "abc”; b=="cba” 這個條件即不成立。

完整範例如下:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int a = 10;

            if (a > 15)

            {Console.WriteLine("a 大於 15!"); }

            else if (a > 5)

            { Console.WriteLine("a大於5,但小於15!"); }

            else

            {Console.WriteLine("a 太小了"); }

 

            Console.Read();

        }

    }

}

執行後顯示:a大於5,但小於15!

(1-2)

條件的第二種寫法是直接使用到布林變數。如:

bool is_white = true;

if (is_white)

{ Console.WriteLine("我是白的"); }

執行後顯示:我是白的

(2) 邏輯運算子(&&||!):邏輯運算子可以組合多個上述介紹的條件,來形成一個新的大條件。語法如下:

條件一 && 條件二 取兩條件之交集,兩條件必須都成立,大條件才成立。

條件一 || 條件二 取兩條件之聯集,兩條件只要有一個成立,大條件就成立。|不是英文字的L小寫,其稱為「管線符號」。在鍵盤中要打出管線符號,可先按住shift鍵不放,再按Enter鍵上方的 \ 鍵。)

!條件 取該條件之反集,條件若不成立,大條件就成立。

範例如:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int a = 10;

            int b = 12;

            int c = 15;

            if (a > 5 && b < 100)

            { Console.WriteLine("大條件一成立"); }

            else

            { Console.WriteLine("大條件一不成立"); }

 

            if (a > 5 || c < 5)

            { Console.WriteLine("大條件二成立"); }

            else

            { Console.WriteLine("大條件二不成立"); }

 

            if (!(c < 5))

            { Console.WriteLine("大條件三成立"); }

            else

            { Console.WriteLine("大條件三不成立"); }

 

            Console.Read();

        }

    }

}

執行後顯示:

大條件一成立

大條件二成立

大條件三成立

 

 

上一篇:字串

下一篇:迴圈

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

 

1. 基礎語法:

(1) 斷行:

每行C#程式碼,在行尾要加個分號 ;

(2) 變數宣告:

變數宣告利用到等號 =,其基本語法為:

變數型態 變數名稱 = ;

其中,常用的變數形態介紹如下:

變數形態

的說明

bool

這種變數形態叫做布林變數,其值只有兩種可能,truefalsetrue表示邏輯上的false表示邏輯上的

bool變數佔據記憶體容量1Byte

int

這種變數形態叫做整數,其值如:-2, -1, 0, 1, 2, 3, 4 ……

int變數佔據記憶體容量4Bytes

long

這種變數形態叫做「長整數,比int能儲存的數字範圍更大。

long變數佔據記憶體容量8Bytes

float

這種變數形態叫做浮點數,即是帶有小數點的數字。其值如:-1.7, 0, 1.0, 2123.292 ……

float變數佔據記憶體容量4Bytes

double

這種變數形態叫做「雙精度浮點數,和float一樣是帶有小數點的數字,不過比float更佔記憶空間。其值如:-1.7, 0, 1.0, 2123.292 ……

double變數佔據記憶體容量8Bytes

char

這種變數形態叫做「字元」,也就是文字,可以是英文、中文、數字等等。字元的左右兩邊需要用單引號 ' 包起來,如 '''a''1'

char變數佔據記憶體容量2Bytes

string

這種變數形態叫做「字串」,也就是一連串的文字,可以是英文、中文、數字等等。字串的左右兩邊需要用雙引號 " 包起來,如 "大小你我他""abcde""12345"

變數名稱:一個由程式設計師自訂的名稱。但要注意,變數名稱只能是英文、

數字或底線符號 _,且開頭第一個字母一定要是英文。

:該變數的值,和變數型態有關。

變數宣告的範例如:

string name = "白龍馬";

int money = 20000;

bool is_white = true;

其中,namemoneyis_white都是變數名稱

 (3) 註解:

單行註解可用雙斜線//,如:

// 註解ABCD

多行註解可用雙斜線/與星號*搭配,如:

/*

這是註解一

這是註解二

*/

這些被註解的文字是不會被執行的,且註解可用中文。程式設計師寫註解的目的在於提醒自己這一行、或這一段程式碼是寫來幹嘛的,以免過幾天再看自己寫的程式碼,忘了自己為何要這樣寫。

(4) 基本輸出:

可使用Console.Write()進行基本輸出,然後會在螢幕上顯示。如:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

                             string B= "蘋果";

Console.Write("我愛吃"+B);

 

                             Console.Read();

        }

    }

}

執行後螢幕上顯示:我愛吃蘋果

可使用Console.WriteLine()進行換行輸出,然後會在螢幕上顯示。如:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

                             string B= "蘋果";

Console.WriteLine("我愛吃"+B);

string C= "香蕉";

Console.WriteLine ("我愛吃"+C);

 

                             Console.Read();

        }

    }

}

執行後螢幕上顯示:

我愛吃蘋果

我愛吃香蕉

 

(5) 基本輸入:

可使用Console.ReadLine()函式來使用鍵盤輸入字串。執行後螢幕會停留、等待使用者用鍵盤輸入,輸入完畢會再繼續執行。範例如:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {        

            Console.WriteLine("想要買什麼?");

            string a = Console.ReadLine();

            Console.WriteLine("我買了" + a);

 

            Console.Read();

        }

    }

}

 

執行後,螢幕停留在:

image

用鍵盤隨便輸入文字,譬如蘋果,之後按下enter,螢幕顯示:

image

 

2. 變數的運算:

(1) 數字intlongfloatdouble的運算:

運算符號

符號意義

範例

範例意義

+

相加

a=b+c;

將變數a之值設為bc之值

-

相減

a=b-c;

將變數a之值設為bc之值

*

相乘

a=b*c;

將變數a之值設為bc之值

/

相除

a=b/c;

將變數a之值設為bc之值

%

求餘數

a=b%c;

將變數a之值設為bc後之餘數

此符號只有在abc均為整數時才有用。

++

遞增

a++;

將變數a之值增加1

--

遞減

a--;

將變數a之值減少1

+=

加值

a+=b;

將變數a之值增加b

-=

減值

a-=b;

將變數a之值減少b

(2) 字串(string)也可以相加,如範例:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            string a = "aaa";

            string b = "bbb";

            string c = a + b + "xxx";

            Console.WriteLine(c);

 

            Console.Read();

        }

    }

}

執行後顯示:

aaabbbxxx

(3) 布林變數(bool)的運算:

運算符號

符號意義

範例

真值表

&&

交集(and)

a&&b

 

a

b

a&&b

true

true

true

true

false

false

false

true

false

false

false

false

 

||

聯集(or)

a||b

 

a

b

a||b

true

true

true

true

false

true

false

true

true

false

false

false

 

!

反值(not)

!a

 

a

!a

true

false

false

true

 

 (4) 四則運算的先後順序:

C#對於四則運算程式碼的解讀,和C++一樣,是採「先乘除後加減」的順序。也就是說,如int a=2+3*4;,是先計算3*4得到12,再將2+1214,故a結果等於14。若要強迫C#改變解讀的順序,可用小括號( ),例如將程式碼寫成int a=(2+3)*4;,那麼就會先計算2+3得到5,再計算5*4得到20,這樣一來a結果就等於20

 

 

 

上一篇:主控台應用程式

下一篇:字串

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

以下範例均使用C#的主控台應用程式來撰寫。專案建立方式如下圖:

(1) 檔案à新增專案

image

(2) 主控台應用程式

image

(3) 確定

image

以下文字中,黑色文字是說明,淺藍色文字代表程式碼,紫色文字代表程式之輸出結果。

按下確定之後C#會自動產生如下列般的程式碼:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

                             // 程式碼

        }

    }

}

 

※ 以上的ConsoleApplication1是專案建立時自訂的專案名稱,不同專案可能有不同的名稱。

※ 以上的Main是主程式名稱,故以下本教學所使用的所有程式碼皆是寫在static void Main(string[] args)之下的兩個大括號 {} 之間。

※ 新手在寫程式時,最好在上述兩個大括號 {}的末尾加上一行:

Console.Read();

變成如:

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

                             // 程式碼

                             Console.Read();

        }

    }

}

這樣在執行程式時才能順利執行。

※ 執行程式:

按下鍵盤上的F5鍵,或下圖綠色三角形按鍵,

即可執行程式。

 

 

 

 

下一篇:基本語法

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(1) 人氣()

 

 

 

1. 常用成員:

(1) 字串.Length:乃一個整數,代表該字串之長度。

如:string A = "abc123";

A.Length則是6

(2) 字串[N]:乃是該字串在第N個序數(序數從0開始)上的字元。

 

2.、常用成員函式:

(1)

(1-1) 字串.IndexOf(子字串):回傳一個整數,乃是該子字串字串中的序數。若是該子字串不存在於字串中,就回傳-1

如,string A = "abc123"; 那麼A.IndexOf("123")就會回傳3

又如,string A = "abc123123"; 那麼A.IndexOf("123")仍是會回傳3

(1-2) 字串.IndexOf(子字串,N):回傳一個整數,乃是從字串之第N序數數起,該子字串字串中的序數。若是該子字串不存在於字串中,就回傳-1

如,string A = "abc123123"; 那麼A.IndexOf("123",1)就會回傳3

又如,string A = "abc123123"; 那麼A.IndexOf("123,6")仍是會回傳6

(2) 字串.Insert(N,子字串):回傳一個新字串,該新字串是原先的字串在第N序數的位置上插入子字串。此函式不會改變原先字串

如:string A = "abc123";那麼A.Insert(2, "@@")就會回傳ab@@c123

(3)

(3-1) 字串.Remove(N, L):回傳一個新字串,該新字串是原先的字串在第N序數的位置後刪除L個字元。此函式不會改變原先字串

如:string A = "abc123";那麼A.Remove(2, 3)就會回傳ab3

(3-2) 字串.Remove(N):回傳一個新字串,該新字串是原先的字串在第N序數的位置後所有字元都刪除。此函式不會改變原先字串

如:string A = "abc123";那麼A.Remove(2)就會回傳ab

(4) 字串.Replace(子字串一, 子字串二):回傳一個新字串,該新字串是原先的字串中,所有子字串一被取代成子字串二。此函式不會改變原先字串

如:string A = "abc123";那麼A.Replace("123","456")就會回傳abc456

字串中不存在子字串一,則該函式不會發生效果。

(5)

(5-1) 字串. Substring(N, L):回傳一個新字串,該新字串是原先的字串在第N序數的位置後的L個字元所組成的。此函式不會改變原先字串

如:string A = "abc123";那麼A. Substring (3, 2)就會回傳12

(5-2) 字串. Substring(N):回傳一個新字串,該新字串是原先的字串在第N序數的位置後的所有字元所組成的。此函式不會改變原先字串

如:string A = "abc123";那麼A. Substring (3)就會回傳123

(6) 字串. StartsWith(子字串):回傳一個bool。若字串是以子字串為開頭,則回傳true,否則回傳false

如:string A = "abc123";那麼A.StartsWith("abc")就會回傳true

(7) 字串. EndsWith(子字串):回傳一個bool。若字串是以子字串為結尾,則回傳true,否則回傳false

如:string A = "abc123";那麼A.EndsWith("123")就會回傳true

(8) 字串. ToUpper():回傳一個新字串。該新字串將原先字串的英文小寫字元全轉成大寫。至於原先字串中非英文的字元則沒有影響。此函式不會改變原先字串

(9) 字串. ToLower():回傳一個新字串。該新字串將原先字串的英文大寫字元全轉成小寫。至於原先字串中非英文的字元則沒有影響。此函式不會改變原先字串

 

3. 正規表達式:

要使用正規表達式,需在標頭寫下using System.Text.RegularExpressions;

(1) 宣告正規表達式物件:

Regex 正規表達式物件名稱 = new Regex(正規表達式字串);

如:

Regex rx = new Regex("^[0-9]$");

(2) 測驗字串是否符合正規表達式:

正規表達式物件名稱.Match(字串).Success:若字串符合正則表達式,則回傳true,否則回傳false

 

 

 

 

上一篇:C# 基本語法

下一篇:C# if判斷式和邏輯運算子

按此前往C#完整教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

«123