Visual?C#?windows窗體示例主題(二)(MSDN整理)

21.代碼:在 StatusBar 控制項中顯示時間 (Visual C#)

本示例在 StatusBar 控制項中以 hh:mm 的格式顯示當前時間。

示例:

private void timer1_Tick(object sender, System.EventArgs e){ statusBar1.Panels[0].Text = DateTime.Now.ToShortTimeString();}

編譯代碼-----》窗體必須含有一個 Enabled 設為 TrueTimer 控制項,和一個 Panels 屬性中添加有 PanelShowPanels 屬性設為 TrueStatusBar

-----》如上所示,代碼是計時器控制項的 Tick 事件的事件處理程序的一部分。

22.代碼:在 Windows 窗體上繪製圖形 (Visual C#)

本示例在窗體上畫一個圓和一個正方形。

示例:

System.Drawing.Graphics graphics = this.CreateGraphics();System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(100, 100, 200, 200);graphics.DrawEllipse(System.Drawing.Pens.Black, rectangle);graphics.DrawRectangle(System.Drawing.Pens.Red, rectangle);

編譯代碼-----》這些代碼添加到從 System.Windows.Forms.Form 派生的類中。「this」引用窗體的實例。

23.代碼:將 RichTextBox 控制項中的字元格式化為粗體 (Visual C#)

本示例在一個現有 RichTextBox 控制項中添加以下文本:「This text is in bold.」。

示例:

richTextBox1.Rtf = @"{
tf1ansi This is in  bold0.}";

編譯代碼-----》本示例需要:一個名為 richTextBox1 的 RichTextBox 控制項。

24.代碼:從其他窗體中獲取值 (Visual C#)

本示例從 Windows 窗體上的一個文本框中檢索值,然後在另一個窗體上的文本框中顯示該值。

示例:

在 Form1.cs 中:

private Form2 otherForm;private void GetOtherFormTextBox(){ textBox1.Text = otherForm.TextBox1.Text;}

在 Form2.cs 中:

public TextBox TextBox1{ get { return textBox1; }}

編譯代碼-----》本示例需要:名稱分別為 Form1 和 Form2 的兩個窗體,每個窗體都包含一個名為 textBox1 的 TextBox 控制項。Form1 創建 Form2 的一個實例並將其分配給 otherForm;而 GetOtherFormTextBox 將 Form2 的 textBox1 中的文本複製到 Form1 的 textBox1 中。

25.代碼:隱藏 DataGrid 中 DataSource 為 DataTable 的 DataColumn (Visual C#)

本示例隱藏在現有 Windows 窗體 DataGrid 控制項中顯示的 DataTable 對象的「X」列。

示例:

private void HideColumnOfDataSet(){ System.Data.DataTable points = new System.Data.DataTable("Points"); points.Columns.Add(new DataColumn("X", typeof(int))); points.Columns.Add(new DataColumn("Y", typeof(int))); points.Rows.Add(new object[]{1, 2}); points.Rows.Add(new object[]{3, 5}); dataGrid1.DataSource = points; DataGridTableStyle tableStyle = new DataGridTableStyle(); tableStyle.MappingName = "Points"; dataGrid1.TableStyles.Add(tableStyle); dataGrid1.TableStyles["Points"].GridColumnStyles["X"].Width = 0;}

編譯代碼-----》本示例需要:具有名為 dataGrid1 的 DataGrid 控制項的 Windows 窗體。

-----》如果數據源是 DataSet 對象,則將 DataGridDataMember 屬性設置為該表的名稱。

-----》類型化數據集中的 DataTableDataColumn 對象還具有字元串類型的名稱。若要查找表的名稱,請查看錶的 Name 屬性。若要查找 DataColumn 的名稱,請查看列的 Name 屬性。

26.代碼:隱藏 DataGrid 中 DataSource 為數組的 DataColumn (Visual C#)

本示例隱藏 DataGrid 中將 Point 對象的數組用作數據源的「X」列。

示例:

private void HideColumnOfArray(){ System.Drawing.Point [] points = { new Point(1, 2), new Point(3, 5), new Point(5, 6)}; dataGrid1.DataSource = points; DataGridTableStyle tableStyle = new DataGridTableStyle(); tableStyle.MappingName = "Point[]"; dataGrid1.TableStyles.Add(tableStyle); dataGrid1.TableStyles["Point[]"].GridColumnStyles["X"].Width = 0;}

編譯代碼-----》本示例需要:具有名為 dataGrid1 的 DataGrid 控制項的 Windows 窗體。

-----》字元串 MappingName 是使用「[]」後綴的數組類型。因此,如果數據源是一組 Point 對象,則映射名稱為「Point[]」。

27.代碼:隱藏 DataGrid 中 DataSource 為 ArrayList 的 DataColumn (Visual C#)

本示例隱藏 DataGrid 中將 Point 對象的 ArrayList 用作數據源的一列。

示例:

private void HideColumnOfArrayList(){ System.Collections.ArrayList list = new System.Collections.ArrayList(); list.AddRange( new Point[]{ new Point(1, 2), new Point(3, 5), new Point(5, 6) } ); dataGrid1.DataSource = list; DataGridTableStyle tableStyle = new DataGridTableStyle(); tableStyle.MappingName = "ArrayList"; dataGrid1.TableStyles.Add(tableStyle); object o = dataGrid1.TableStyles["ArrayList"]; dataGrid1.TableStyles["ArrayList"].GridColumnStyles["X"].Width = 0;}

編譯代碼-----》本示例需要:具有名為 dataGrid1 的 DataGrid 控制項的 Windows 窗體。

-----》當數據源是 ArrayList 對象時,MappingName 為「ArrayList」。

28.代碼:用字元串數組填充 ListBox 控制項 (Visual C#)

本示例將字元串數組添加到 Windows 窗體 ListBox 控制項中。

示例:private void Form1_Load(object sender, System.EventArgs e){ string [] myList = new string[4]; myList[0] = "One"; myList[1] = "Two"; myList[2] = "Three"; myList[3] = "Four"; listBox1.Items.AddRange(myList);}

編譯代碼-----》本示例需要:具有名為 listBox1 的 ListBox 控制項的窗體 Form1。將 Form1 的 Load 事件處理程序設置為 Form1_Load。

注意本示例還可以使用 ComboBox 控制項,方法是用名為 comboBox1 的 ComboBox 控制項替換 ListBox 控制項,然後將代碼由 listBox1 更改為 comboBox1。

29.代碼:檢索作為嵌入資源的圖像 (Visual C#)

本示例檢索一個圖像,該圖像是程序集的嵌入資源。

示例:

System.Reflection.Assembly thisExe;thisExe = System.Reflection.Assembly.GetExecutingAssembly();System.IO.Stream file = thisExe.GetManifestResourceStream("AssemblyName.ImageFile.jpg");this.pictureBox1.Image = Image.FromStream(file);

編譯代碼-----》本示例需要:一個含有名為 pictureBox1 的 PictureBox 控制項的 Windows 窗體。

-----》在項目中添加圖像文件,然後在解決方案資源管理器中將「生成操作」屬性設置為「嵌入的資源」。

-----》將 "AssemblyName.ImageFile.jpg" 替換成程序集中已知的資源名稱。可以使用程序集對象的 GetManifestResourceNames 方法查找該資源的名稱。請參見代碼:查找程序集中的資源名稱。

30.代碼:從 Windows DataGrid 控制項的所選單元格中檢索數據 (Visual C#)

本示例從現有的 DataGrid 控制項(由整數值填充)中檢索選定的數據。

示例:System.Windows.Forms.DataGridCell selectedCell = dataGrid1.CurrentCell;object selectedItem = dataGrid1[selectedCell.RowNumber, selectedCell.ColumnNumber];int cellValue = Convert.ToInt32(selectedItem);

編譯代碼-----》本示例需要: 名為 dataGrid1 的 DataGrid 控制項。

31.代碼:搜索 ListBox 控制項中的項 (Visual C#)

本示例在 Windows 窗體 ListBox 控制項中搜索字元串。

示例:

private void button1_Click(object sender, System.EventArgs e){ listBox1.Items.Add("One"); listBox1.Items.Add("Two"); listBox1.Items.Add("Three"); if (listBox1.FindString("Two") != -1) MessageBox.Show("Found it!");}

編譯代碼-----》本示例需要: 具有 ListBox 控制項 listBox1 和按鈕控制項 button1 窗體。將 button1 的 Click 事件處理程序設置為 button1_Click。

注意本示例還可以使用 ComboBox 控制項,方法是用名為 comboBox1 的 ComboBox 控制項替換 ListBox 控制項,然後將代碼由 listBox1 更改為 comboBox1。

32.代碼:選擇日曆控制項中的日期範圍 (Visual C#)

本示例在 Windows 窗體 MonthCalendar 控制項中選擇某一範圍的日期。在本示例中,當用戶選擇日期時,就會選擇周。

示例:private void monthCalendar1_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e){ DateTime startDate = e.Start; startDate = startDate.AddDays(-(double)startDate.DayOfWeek); monthCalendar1.SelectionStart = startDate; monthCalendar1.SelectionEnd = startDate.AddDays(6);}

編譯代碼-----》本示例需要:一個含有名為 monthCalendar1 的 MonthCalendar 控制項的 Windows 窗體。將 monthCalendar1 的 DateSelected 事件處理程序設置為 monthCalendar1_DateSelected。

33.代碼:選擇 ListBox 控制項中的項 (Visual C#)

本示例在 Windows 窗體 ListBox 控制項中選擇並突出顯示一項。

示例:

private void button1_Click(object sender, System.EventArgs e){ listBox1.Items.Add("One"); listBox1.Items.Add("Two"); listBox1.Items.Add("Three"); listBox1.SelectedIndex = listBox1.FindString("Two");}

編譯代碼-----》本示例需要: 具有 ListBox 控制項 listBox1 和按鈕控制項 button1 窗體。將 button1 的 Click 事件處理程序設置為 button1_Click。

注意本示例還可以使用 ComboBox 控制項,方法是用名為 comboBox1 的 ComboBox 控制項替換 ListBox 控制項,然後將代碼由 listBox1 更改為 comboBox1。

來源:http://msdn.microsoft.com/zh-cn/library/aa287561(VS.71).aspx

推薦閱讀:

Dreamspark 訂閱的 Azure 能做些什麼?
MSDN使用
"MSDN i tell you"這個網頁有什麼背景?
Visual?C#?windows窗體示例主題(一)(MSDN整理)

TAG:整理 | 主題 | MSDN | 示例 |