Windows視窗程式設計入門(C#版)
阿新 • • 發佈:2018-12-03
這次用C#寫個簡單的視窗程式,這篇文章完全是面向新手的。
我簡單說明一下我們要實現的功能:
有兩個窗體Form1和Form2,這兩個窗體裡面都有一個TextBox和一個Button。
①當單擊Form1裡面的Button時,加載出Form2,同時Form2裡的TextBox內容和Form1裡的TextBox的內容一致;
②當單擊Form2裡面的Button時,銷燬Form2,同時Form1裡的TextBox內容變成Form2裡TextBox的內容。
我們啟動VS,並繪製兩個如下圖所示的窗體
繪製完成後,我們來到Form1.cs中,右擊TextBox選擇屬性
在彈出的視窗中將其Modifiers屬性設定為public
完成後也要將Form2的TextBox也進行同樣的設定。只有這樣兩個窗體中的TextBox才可以相互“看得見”。
設定完成後,我們便可以進行我們的程式碼設計了!
首先我們來到Form1.cs中,雙擊Button1,進入程式碼設計視窗,我們可以看到VS已經幫我們把框架搭好了,直接上手就好嘍!
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplicationTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 form_two = new Form2(); //例項化Form2 form_two.Show(); //將例項化的物件顯示出來 form_two.textBox1.Text = this.textBox1.Text; //將Form1裡TextBox的內容賦值給Form2裡TextBox } } }
這樣我們執行一下,發現功能①已經可以實現了!
下面繼續實現②中的功能吧,我們選中Form2.cs,雙擊Button1,進入程式碼設計頁面
首次我們要先宣告一個Form1的物件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplicationTest { public partial class Form2 : Form { public Form2() { InitializeComponent(); } public Form1 form_one; //宣告Form類變數 private void button1_Click(object sender, EventArgs e) {
}
}
}
然後我們要回到Form1的程式碼設計視窗,為form_one賦值。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplicationTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form_two = new Form2();
//例項化Form2
form_two.Show();
//將例項化的物件顯示出來
form_two.textBox1.Text = this.textBox1.Text;
//將Form1裡TextBox的內容賦值給Form2裡TextBox
form_two.form_one = this;
//將form_one指向Form1視窗
}
}
}
然後我們再次回到Form2的程式碼設計介面,實現賦值和銷燬功能
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplicationTest
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public Form1 form_one;
//宣告Form類變數
private void button1_Click(object sender, EventArgs e)
{
form_one.textBox1.Text = this.textBox1.Text;
//將Form2裡TextBox的內容賦值給Form1裡TextBox
this.Close();
//將Form2銷燬
}
}
}
執行一下,會發現我們的功能已經全部實現了!