可視界面通常都用于與用戶(hù)進(jìn)行交互,所以是必學(xué)的一部分,
創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供屏南網(wǎng)站建設(shè)、屏南做網(wǎng)站、屏南網(wǎng)站設(shè)計(jì)、屏南網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、屏南企業(yè)網(wǎng)站模板建站服務(wù),十年屏南做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。C#下的可視界面我覺(jué)得在封裝上弄得比較好,頁(yè)面屬性都放在Form1.Designer.cs文件的InitializeComponent()函數(shù)里,F(xiàn)orm1.cs文件調(diào)用初始化函數(shù),進(jìn)行相關(guān)的事件的操作(如:經(jīng)常所見(jiàn)的button的Click操作)。在visual studio的工具箱里可以拖動(dòng)組建,右鍵選擇屬性可以設(shè)置組件的屬性。
簡(jiǎn)單的窗口例子,當(dāng)要關(guān)閉窗口的時(shí)候彈出對(duì)話(huà)框:
在Form1.cs文件里新建函數(shù):
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { DialogResult dr = MessageBox.Show("是否關(guān)閉窗體?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dr == DialogResult.Yes) { e.Cancel = false; } else { e.Cancel = true; } }
在Form1.Designer.cs文件里的InitializeComponent()函數(shù)中設(shè)置:
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
表示窗口的FormClosing屬性通過(guò)調(diào)用Form1_FormClosing函數(shù)實(shí)現(xiàn)。
窗體可以調(diào)用Show()、Hide()和Close()方法。另外有觸發(fā)窗體事件的Activated事件、Load事件,和FormClosing事件的語(yǔ)法格式類(lèi)似。
常用控件及其簡(jiǎn)單設(shè)置
1.Label控件:
label1.Font = new Font("楷體", 12); label1.Text = "再累也要開(kāi)心D"; label2.ForeColor = Color.Blue;
2.TextBox控件:
textBox1.PasswordChar = '@';//根據(jù)自己的喜好設(shè)置密碼顯示的方式 textBox2.UseSystemPasswordChar = true;//設(shè)置默認(rèn)的系統(tǒng)密碼顯示 textBox1.ReadOnly = true;//只讀屬性 textBox1.Multiline = true;//設(shè)置多行顯示
3.RichTextBox控件:(可以顯示字體、顏色、鏈接、文本加載、圖像功能)
實(shí)例:button1打開(kāi)文件、button2打開(kāi)圖片。richTextBox1顯示文件和圖片內(nèi)容;
設(shè)置richTextBox1的屬性:
richTextBox1.BorderStyle = BorderStyle.Fixed3D;//設(shè)置邊框樣式 richTextBox1.DetectUrls = true;//設(shè)置自動(dòng)識(shí)別超鏈接 richTextBox1.ScrollBars = RichTextBoxScrollBars.Both;//設(shè)置滾動(dòng)條
點(diǎn)擊button1后顯示打開(kāi)文件對(duì)話(huà)框,選擇文件后再richTextBox1中顯示文件內(nèi)容:
OpenFileDialog openfile = new OpenFileDialog();//實(shí)例化打開(kāi)文件對(duì)話(huà)框 openfile.Filter = "rtf文件(*.rtf)|*.rtf";//設(shè)置文件篩選器 if (openfile.ShowDialog() == DialogResult.OK) { richTextBox1.Clear();//清空文本框 //加載文件 richTextBox1.LoadFile(openfile.FileName, RichTextBoxStreamType.RichText); }
同理,顯示圖片的設(shè)置:
OpenFileDialog openpic = new OpenFileDialog(); openpic.Filter = "bmp文件(*.bmp)|*.bmp|jpg文件(*.jpg)|*.jpg|ico文件(*.ico)|*.ico"; openpic.Title = "打開(kāi)圖片"; if (openpic.ShowDialog() == DialogResult.OK) { Bitmap bmp = new Bitmap(openpic.FileName);//使用選擇的圖片實(shí)例化Bitmap對(duì)象 Clipboard.SetDataObject(bmp, false);//將圖像置于系統(tǒng)剪貼板中 //判斷richTextBox1控件是否可以粘貼圖片信息 if (richTextBox1.CanPaste(DataFormats.GetFormat(DataFormats.Bitmap))) richTextBox1.Paste(); }
Button控件:
button1.BackgroundImage = Properties.Resources.a; button1.BackgroundImageLayout = ImageLayout.Stretch;//拉伸圖像 button2.Image = Properties.Resources.a; button2.ImageAlign = ContentAlignment.MiddleLeft;//設(shè)置圖片對(duì)齊方式 button3.FlatStyle = FlatStyle.Flat;//設(shè)置button3的外觀樣式 button3.Text = "確定"; button4.TextAlign = ContentAlignment.MiddleRight;//設(shè)置文本對(duì)齊方式
GroupBox控件:(分組控件,其所包含的控件集周?chē)@示邊框和標(biāo)題,但沒(méi)有滾動(dòng)條)
TabControl控件:
設(shè)置選項(xiàng)卡的外觀樣式:
tabControl1.Appearance = TabAppearance.Normal;
實(shí)例:點(diǎn)擊button1后增加一個(gè)選項(xiàng)卡,button2移除一個(gè)選項(xiàng)卡
//聲明一個(gè)字符串變量,用于生成新增選項(xiàng)卡的名稱(chēng) string Title = "新增選項(xiàng)卡 " + (tabControl1.TabCount + 1).ToString(); TabPage tp = new TabPage(Title); //使用tabcontrol控件的tabpages屬性的add方法添加新的選項(xiàng)卡 tabControl1.TabPages.Add(tp);
移除選項(xiàng)卡:
if (tabControl1.SelectedIndex == 0) { MessageBox.Show("請(qǐng)選擇要移除的選項(xiàng)卡"); } else { tabControl1.TabPages.Remove(tabControl1.SelectedTab); }
MenuStrip控件(菜單欄——拖動(dòng)控件就可以進(jìn)行相關(guān)設(shè)置):
另在輸入框輸入“新建(&N)”會(huì)在運(yùn)行時(shí)顯示“新建(N)”,可以“Alt+N”來(lái)調(diào)用
ToolStrip控件(工具欄——下拉欄有8個(gè)不同類(lèi)型的控件——這個(gè)控件沒(méi)怎么用,說(shuō)不太清楚)
Button:包含文本和圖象中可以讓用戶(hù)選擇的項(xiàng);
Label:包含文本和圖象的項(xiàng),不可以讓用戶(hù)選擇,可以顯示超鏈接
SplitButton:在Button的基礎(chǔ)上增加一個(gè)下拉列表
DropDownButton:用于下拉列表選擇項(xiàng)
Separator:分隔符
ComboBox:顯示一個(gè)Combox的項(xiàng)
TextBox和ProgressBar和ComboBox的意義類(lèi)似。
StatusStrip控件:
放在窗體的最底部,用于顯示窗體對(duì)象的一些相關(guān)信息。
窗體加載時(shí)顯示系統(tǒng)當(dāng)前時(shí)間:
toolStripStatusLabel1.Text="當(dāng)前時(shí)間:"+DateTime.Now.ToLongTimeString();
ListBox控件:
實(shí)例:用ListBox顯示獲取到的文件列表
設(shè)置ListBox屬性:
listBox1.HorizontalScrollbar = true;//水平 listBox1.ScrollAlwaysVisible = true;//垂直 listBox1.SelectionMode = SelectionMode.MultiExtended;//實(shí)現(xiàn)在控件中選擇多項(xiàng)
點(diǎn)擊button1(打開(kāi)文件)后:
//實(shí)例化瀏覽文件夾對(duì)話(huà)框 FolderBrowserDialog fbd = new FolderBrowserDialog(); if (fbd.ShowDialog() == DialogResult.OK) { //獲取選擇的文件夾的路徑 textBox1.Text = fbd.SelectedPath; //使用獲取的文件夾路徑實(shí)例化DirectoryInfo類(lèi)對(duì)象 DirectoryInfo dinfo = new DirectoryInfo(textBox1.Text); //獲取指定文件夾下的所有子文件夾及文件 FileSystemInfo[] finfo = dinfo.GetFileSystemInfos(); //將獲取到的子文件夾及文件添加到ListBox控件中 listBox1.Items.AddRange(finfo); label2.Text = "(" + listBox1.Items.Count + "項(xiàng)}"; }
選擇ListBox其中的項(xiàng):
private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { label3.Text = "你選擇的是:"; for(int i = 0 ; i < listBox1.SelectedItems.Count ; i++) { label3.Text += listBox1.SelectedItems[i]+"、"; } }
ListView控件:(主用于顯示帶圖標(biāo)的列表項(xiàng))
實(shí)例(為L(zhǎng)istView的Group添加項(xiàng),另外可以設(shè)置添加、移除和清空項(xiàng)功能):
listView1.View = View.SmallIcon;//設(shè)置View屬性,設(shè)置樣式 //為listView1建立兩個(gè)組 listView1.Groups.Add(new ListViewGroup("名稱(chēng)", HorizontalAlignment.Left)); listView1.Groups.Add(new ListViewGroup("類(lèi)別", HorizontalAlignment.Left)); listView1.Items.Add("name1"); listView1.Items.Add("name2"); listView1.Items.Add("lei1");
對(duì)上面的項(xiàng)進(jìn)行分組(設(shè)置它們的Group屬性):
//添加到第一個(gè)分組的寫(xiě)法 listView1.Items[0].Group = listView1.Groups[0]; //加入第二分組 listView1.Items[2].Group = listView1.Groups[1];
添加項(xiàng):
listView1.Items.Add(textBox1.Text.Trim());
刪除項(xiàng):
listView1.Items.RemoveAt(listView1.SelectedItems[0].Index); listView1.SelectedItems.Clear();
清空項(xiàng):
listView1.Items.Clear();
TreeView控件:(用于顯示節(jié)點(diǎn)層次結(jié)構(gòu))
treeView1.ContextMenuStrip = contextMenuStrip1;//設(shè)置樹(shù)控件的快捷菜單 TreeNode tn = treeView1.Nodes.Add("根節(jié)點(diǎn)"); TreeNode pn1 = new TreeNode("節(jié)點(diǎn)1"); //將節(jié)點(diǎn)1放到根節(jié)點(diǎn)下的節(jié)點(diǎn)中 tn.Nodes.Add(pn1); TreeNode cn1 = new TreeNode("節(jié)點(diǎn)1下的節(jié)點(diǎn)"); pn1.Nodes.Add(cn1); //快捷菜單下的全部展開(kāi)跟全部折疊 treeView1.ExpandAll(); treeView1.CollapseAll();
treeView1也通常和p_w_picpathList控件用,一起顯示帶圖片的節(jié)點(diǎn):
p_w_picpathList1.Images.Add(Image.FromFile("1.png")); p_w_picpathList1.Images.Add(Image.FromFile("2.png")); treeView1.ImageList = p_w_picpathList1; p_w_picpathList1.ImageSize = new Size(16,16); //設(shè)置treeView1控件節(jié)點(diǎn)的圖標(biāo)在p_w_picpathList1控件中的索引時(shí)0 treeView1.ImageIndex = 0; //選擇某個(gè)節(jié)點(diǎn)后顯示的圖標(biāo)在p_w_picpathList1控件中的索引為1 treeView1.SelectedImageIndex = 1;
ImageList控件:(主用于存儲(chǔ)圖片資源,然后在控件中顯示出來(lái),簡(jiǎn)化圖片的管理)
p_w_picpathList1.ColorDepth = ColorDepth.Depth42Bit;//設(shè)置圖像的顏色深度
加載圖片:
p_w_picpathList1.Images.Clear();//清除圖像 string Path = "C:\\Users\\lucky\\Desktop\\1.jpg"; Image img = Image.FromFile(Path, true); p_w_picpathList1.Images.Add(img); p_w_picpathList1.ImageSize = new Size(215, 135); //設(shè)置pictureBox1的圖像索引時(shí)p_w_picpathList1控件索引為0的圖片 pictureBox1.Image = p_w_picpathList1.Images[0];
清除圖片:
p_w_picpathList1.Images.RemoveAt(0); pictureBox1.Image = null;
登陸常用到的KeyUp事件:
private void txtUserName_KeyUp(object sender, KeyEventArgs e) { if (e.KeyValue == 13)//判斷是否按下Enter鍵 txtUserPwd.Focus(); }
字體滾動(dòng)實(shí)例:
private void timer1_Tick(object sender, EventArgs e) { //設(shè)置label1左邊緣與其容器的工作區(qū)左邊緣之間的距離 label1.Left -= 2; //當(dāng)label1右邊緣與其容器的工作區(qū)左邊緣之間的距離小于0時(shí) if (label1.Right < 0) { //設(shè)置label1左邊緣與其容器的工作區(qū)左邊緣之間的距離為該窗體的寬度 label1.Left = this.Width; } }
開(kāi)始滾動(dòng):
timer1.Enabled = true;
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前標(biāo)題:C#Window控件及窗體的基本使用-創(chuàng)新互聯(lián)
文章URL:http://aaarwkj.com/article48/deoohp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、做網(wǎng)站、Google、自適應(yīng)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容