實驗四 Windows程序設計

1,創建Windows窗體應用程序,實現用戶登錄功能,當輸入正確與錯誤時均給出相應的提示信息,規定用戶輸入錯誤次數不能超過3次。(源代碼+運行界面)

在這里插入圖片描述
這里的口令有個小常識,就是顯示*,在口令對應的textBox2--->行為--->PasswordChar 改成 * 即可

所需控件:groupBox1、label1、label2、TextBox1、TextBox2、button1、button2

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 text4
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private static int count = 0;private void button1_Click(object sender, EventArgs e){if ((textBox1.Text == "beyondyanyu")&& (textBox2.Text == "123")){             MessageBox.Show("歡迎beyondyanyu,登錄成功!!!","登錄成功",MessageBoxButtons.OK);               }else {count++;MessageBox.Show("用戶名或口令不正確(您一共有3次機會)", "Exclamation", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);if (count == 3) {MessageBox.Show("抱歉您次數已用完", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);}}}private void button2_Click(object sender, EventArgs e){System.Environment.Exit(0);//這是最徹底的退出方式,不管什么線程都被強制退出,把程序結束的很干凈。 }}
}

效果圖如下:
運行效果圖
提示信息
異常
3次都錯誤

2,創建Windows窗體應用程序,界面如下所示,當在組合框中輸入一個新項時自動添加到組合框中,并給出相應提示;當輸入一個已存在項時給出相應提示。(源代碼+運行界面)

在這里插入圖片描述在這里插入圖片描述
這里需要更改觸發按鍵 comboBox1--->鍵--->KeyPress 或 KeyDown 我這里用了兩種方法選一種即可

所需控件:label1、label2、comboBox1

在這里插入圖片描述

using System;
using System.Windows.Forms;namespace text4_2
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){comboBox1.Items.Add("安陽");comboBox1.Items.Add("成都");}private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){MessageBox.Show("您選擇的城市是:" + comboBox1.Text, "提示");}private void comboBox1_KeyPress(object sender, KeyPressEventArgs e){/*if (e.KeyChar == 13){if (comboBox1.Items.Contains(comboBox1.Text)){label2.Text = "你的輸入已在組合框!";}else{comboBox1.Items.Add(comboBox1.Text);label2.Text = "你的輸入項已添加到組合框中!";}}*/}private void comboBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e){if (e.KeyData.Equals(System.Windows.Forms.Keys.Enter)){if (e.KeyCode == Keys.Enter){if (comboBox1.Items.Contains(comboBox1.Text)){label2.Text = "你的輸入已在組合框!";}else{comboBox1.Items.Add(comboBox1.Text);label2.Text = "你的輸入項已添加到組合框中!";}}}}}}

效果圖如下:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

3,創建Windows窗體應用程序,用一個學生結構數組存放10名學生的記錄,然后根據用戶指定的學號顯示相應的學生記錄,具體界面如下所示。(源代碼+運行界面)

在這里插入圖片描述

所需控件:groupBox1、groupBox2、label1、label2、label3、label4、label5、TextBox1、TextBox2、TextBox3、TextBox4、TextBox5、button1、comboBox1

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 text4_3
{public partial class Form1 : Form{struct Scores{public int unum;public string name;public string sex;public int cnum;public string birthday;}Scores[] yy = new Scores[10];public Form1(){InitializeComponent();comboBox1.Items.Add("1");comboBox1.Items.Add("2");comboBox1.Items.Add("3");comboBox1.Items.Add("4");comboBox1.Items.Add("5");comboBox1.Items.Add("6");comboBox1.Items.Add("7");comboBox1.Items.Add("8");comboBox1.Items.Add("9");comboBox1.Items.Add("10");}private void Form1_Load(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){Scores y1, y2, y3, y4, y5, y6, y7, y8, y9, y10;y1.unum = 1; y1.name = "喜羊羊"; y1.sex = "男"; y1.cnum = 5118; y1.birthday = "1999/7/5";y2.unum = 2; y2.name = "美羊羊"; y2.sex = "女"; y2.cnum = 777; y2.birthday = "1992/9/5";y3.unum = 3; y3.name = "暖洋洋"; y3.sex = "女"; y3.cnum = 515; y3.birthday = "1998/12/1";y4.unum = 4; y4.name = "沸羊羊"; y4.sex = "男"; y4.cnum = 788; y4.birthday = "1999/9/21";y5.unum = 5; y5.name = "懶羊羊"; y5.sex = "男"; y5.cnum = 4118; y5.birthday = "1999/10/15";y6.unum = 6; y6.name = "壯羊羊"; y6.sex = "男"; y6.cnum = 818; y6.birthday = "1998/10/14";y7.unum = 7; y7.name = "灰太狼"; y7.sex = "男"; y7.cnum = 7118; y7.birthday = "1994/1/25";y8.unum = 8; y8.name = "村長"; y8.sex = "男"; y8.cnum = 5748; y8.birthday = "1989/11/7";y9.unum = 9; y9.name = "小灰灰"; y9.sex = "男"; y9.cnum = 787; y9.birthday = "2020/4/3";y10.unum = 10; y10.name = "紅太狼"; y10.sex = "女"; y10.cnum = 74185; y10.birthday = "1999/7/18";int a = int.Parse(comboBox1.SelectedItem.ToString());if (a == 1){textBox1.Text = y1.unum.ToString();textBox2.Text = y1.name;textBox3.Text = y1.sex;textBox4.Text = y1.cnum.ToString();textBox5.Text = y1.birthday;}else if (a == 2){textBox1.Text = y2.unum.ToString();textBox2.Text = y2.name;textBox3.Text = y2.sex;textBox4.Text = y2.cnum.ToString();textBox5.Text = y2.birthday;}else if (a == 3){textBox1.Text = y3.unum.ToString();textBox2.Text = y3.name;textBox3.Text = y3.sex;textBox4.Text = y3.cnum.ToString();textBox5.Text = y3.birthday;}else if (a == 4){textBox1.Text = y4.unum.ToString();textBox2.Text = y4.name;textBox3.Text = y4.sex;textBox4.Text = y4.cnum.ToString();textBox5.Text = y4.birthday;}else if (a == 5){textBox1.Text = y5.unum.ToString();textBox2.Text = y5.name;textBox3.Text = y5.sex;textBox4.Text = y5.cnum.ToString();textBox5.Text = y5.birthday;}else if (a == 6){textBox1.Text = y6.unum.ToString();textBox2.Text = y6.name;textBox3.Text = y6.sex;textBox4.Text = y6.cnum.ToString();textBox5.Text = y6.birthday;}else if (a == 7){textBox1.Text = y7.unum.ToString();textBox2.Text = y7.name;textBox3.Text = y7.sex;textBox4.Text = y7.cnum.ToString();textBox5.Text = y7.birthday;}else if (a == 8){textBox1.Text = y8.unum.ToString();textBox2.Text = y8.name;textBox3.Text = y8.sex;textBox4.Text = y8.cnum.ToString();textBox5.Text = y8.birthday;}else if (a == 9){textBox1.Text = y9.unum.ToString();textBox2.Text = y9.name;textBox3.Text = y9.sex;textBox4.Text = y9.cnum.ToString();textBox5.Text = y9.birthday;}else if (a == 10){textBox1.Text = y10.unum.ToString();textBox2.Text = y10.name;textBox3.Text = y10.sex;textBox4.Text = y10.cnum.ToString();textBox5.Text = y10.birthday;}}}
}

效果圖如下:
學號1
學號8

4,創建一個項目,設計一個窗體Form1,其中包含一個TreeView控件treeView1和一個ListView控件listView1,單擊treeView1控件中的某結點時,在listView1中顯示所有子結點,并通過彈出式菜單選擇listView1控件的大圖標、小圖標、列表和完整圖標4種視圖顯示模式。如下圖所示:(源代碼+運行界面)

在這里插入圖片描述

所需控件:treeView1、imageList1、imageList2、listView1、contextMenuStrip1

這里在imageList1和imageList2里面需要手動添加對應小動物圖片,可根據之間需要上傳,前面的index對應下面代碼中的listView1.Items.Add("小貓",0);這個0 如:imageList1--->外觀--->Images 選擇上傳圖片即可

在Form1屬性中找ContextMenuStrip---->設置為contextMenuStrip1 也就是綁定彈出式菜單
在ContextMenuStrip--->右擊編輯項--->添加你要添加的狀態(我添加的是大圖標、小圖標、詳細信息)會對應生成toolStripMenuItem1--->然后分別找到toolStripMenuItem1的屬性中Click進行綁定事件(例如代碼下方的small_Clike方法)

using System;
using System.Windows.Forms;namespace text4_4
{public partial class Form1 : Form{ColumnHeader h1 = new ColumnHeader();//詳細信息的時候需要顯示上面的列 第一列public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){h1.Text = "你瞅這是啥小動物?";listView1.Columns.Add(h1);treeView1.Nodes.Add("哺乳動物");treeView1.Nodes.Add("魚類");treeView1.Nodes.Add("鳥類");treeView1.Nodes[0].Nodes.Add("小貓");treeView1.Nodes[0].Nodes.Add("小豬");treeView1.Nodes[0].Nodes.Add("小狗");treeView1.Nodes[1].Nodes.Add("鯊魚");treeView1.Nodes[1].Nodes.Add("熱帶魚");treeView1.Nodes[1].Nodes.Add("金魚");treeView1.Nodes[2].Nodes.Add("小鳥");treeView1.Nodes[2].Nodes.Add("中鳥");treeView1.Nodes[2].Nodes.Add("大鳥");}private void treeView1_AfterSelect(object sender, TreeViewEventArgs e){//listView1.Items.Clear();listView1.LargeImageList = imageList1;//大圖標listView1.SmallImageList = imageList2;//小圖標string s = e.Node.Text;switch (s){case "哺乳動物":listView1.Items.Clear();listView1.Items.Add("小貓", 0);listView1.Items.Add("小狗", 1);listView1.Items.Add("小豬", 2);break;case "魚類"://魚類圖片我就不加了,手邊圖片不多,拿哺乳動物為例就行listView1.Items.Clear();listView1.Items.Add("鯊魚");listView1.Items.Add("熱帶魚");listView1.Items.Add("金魚");break;case "鳥類":listView1.Items.Clear();listView1.Items.Add("小鳥");listView1.Items.Add("中鳥");listView1.Items.Add("大鳥");break;case "小貓":listView1.Items.Clear();listView1.Items.Add("小貓", 0);break;case "小狗":listView1.Items.Clear();listView1.Items.Add("小狗", 1);break;case "小豬":listView1.Items.Clear();listView1.Items.Add("小豬", 2);break;case "鯊魚":listView1.Items.Clear();listView1.Items.Add("鯊魚");break;case "熱帶魚":listView1.Items.Clear();listView1.Items.Add("熱帶魚");break;case "小鳥":listView1.Items.Clear();listView1.Items.Add("小鳥");break;case "中鳥":listView1.Items.Clear();listView1.Items.Add("中鳥");break;case "大鳥":listView1.Items.Clear();listView1.Items.Add("大鳥");break;}}private void listView1_SelectedIndexChanged(object sender, EventArgs e){}private void listView1_ContextMenuStripChanged(object sender, EventArgs e){}private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e){}private void small_Clike(object sender,EventArgs e)//小圖標,需要和toolStripMenuItem1的Click事件綁定{listView1.View = View.SmallIcon;}private void big_Clike(object sender, EventArgs e)//大圖標,需要和toolStripMenuItem2的Click事件綁定{listView1.View = View.LargeIcon;}private void all_Clike(object sender, EventArgs e)//詳細信息,需要和toolStripMenuItem3的Click事件綁定{listView1.View = View.Details;}}
}

效果圖如下:
右擊即可選擇彈出式菜單,這里我只寫了3種(大圖標、小圖標、詳細信息)
大圖標
小圖標
詳細信息

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/379141.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379141.shtml
英文地址,請注明出處:http://en.pswp.cn/news/379141.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

最小連通-(代碼、分析、匯編)

目錄:介紹:代碼:分析:匯編:介紹: 一個有 n 個結點的連通圖的生成樹是原圖的極小連通子圖,且包含原圖中的所有 n 個結點, 并且有保持圖連通的最少的邊。 最小生成樹可以用kruskal&am…

toad dba for oracle 10.5

http://worlddownloads.quest.com.edgesuite.net/Repository/support.quest.com/Toad%20for%20Oracle/10.5/Software/Toad%20DBA%20Suite%20for%20Oracle%2010.5%20Commercial.exe轉載于:https://www.cnblogs.com/devbar/archive/2010/07/01/1768986.html

c++ 怎樣連接兩個鏈表_LeetCode | 鏈表的入口,一文幫你搞定“環形鏈表”(python版,最簡單解析)...

鏈表節點的定義鏈表作為一種數據結構,由鏈表節點互相連接構成。鏈表節點包含自身的數據和一個指向下一節點的指針。""" Definition of ListNode """ class ListNode(object):def __init__(self, val, nextNone):self.val valself.ne…

QI實例-改變空間參考

學習AE一段時間了,總是對QI不是很理解,今天一晚上寫了QI實例,嘗試理解下。 首先想到的是→改變空間參考→alter、SpatialReference→alterSpatialReference,輸入到幫助文檔里。  查看是IGeoDatasetSchemaEdit接口的方法&#xf…

VeryCD 的資料庫

呵呵,剛才看了下VeryCD的資料庫,恍然間才明白為什么VeryCD以前花大量時間和精力開發電驢,又為什么不久前突然取消了KAD網絡和ED2k網絡的搜索功能。呵呵,天下沒有免費的午餐哈,VeryCD先用電驢軟件聚集客戶群&#xff08…

Java IdentityHashMap keySet()方法及示例

IdentityHashMap類keySet()方法 (IdentityHashMap Class keySet() method) keySet() method is available in java.util package. keySet()方法在java.util包中可用。 keySet() method is used to get a set of all the existing keys in this IdenityHashMap to be viewed in …

C#省市二級聯動(王者榮耀挑選英雄為例)

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 beyond_聯動_ {public partial clas…

二叉排序樹(Binary Sort Tree) 又稱為二叉查找樹(Binary Search Tree) - (代碼、分析)

目錄:代碼:分析:代碼: BSTree.h #ifndef _BSTREE_H_ #define _BSTREE_H_typedef void BSTree;//定義二叉樹類型 typedef void BSKey;//定義節點的鍵值類型(用于節點排序)typedef struct _tag_BSTreeNode …

springboot tomcat默認線程數_記一次JAVA線程池的錯誤用法

最近項目一個項目要結項了,但客戶要求 TPS 能達到上千,而用我寫的代碼再怎么弄成只能達到 30 的 TPS,然后我又將代碼中能緩存的都緩存了,能拆分的也都拆分了,拆分時用的線程池來實現的;其實現的代碼主要為…

引以為鑒-ARM開發板連線注意事項

前些日子把實驗室的三臺機子放到一個工位上,非常擁擠,做實驗也很不方便。因此,想把ARM開發板的環境重新搭建到自己的電腦上。說完就做,上午就開始忙活起來。把開發板上的USB線、串口線、JTAT接口、還有電源線一一插好。接著就開始…

CString 類型和引用

怎么理解CString & 類型?在函數參數表中,列了一項是此類型,據說是引用。可以給個具體方法,示例么? 由于子程序調用是棧傳遞參數,因此對參數的修改不會改變調用者傳入的參數的值。如果要改變調用者的參數…

Java IdentityHashMap putAll()方法與示例

IdentityHashMap類putAll()方法 (IdentityHashMap Class putAll() method) putAll() method is available in java.util package. putAll()方法在java.util包中可用。 putAll() method is used to copy all of the entry (key-value pairs) that exists from the given map (m)…

Python---實驗八

1,現在有一份‘邀請函.txt’的空白文件,請在同級目錄下編寫一段代碼,寫入內容‘誠摯邀請您來參加本次宴會’。 with open(fG:\study\Python\邀請函.txt,modew,encodingutf-8) as y:y.write(誠摯邀請您來參加本次宴會)效果圖如下:…

哈希表 - (代碼、分析 )

目錄:代碼:分析:代碼: BSTree.h BSTree.c 二叉排序樹(Binary Sort Tree) 又稱為二叉查找樹(Binary Search Tree) Hash.h #ifndef _HASH_H_ #define _HASH_H_typedef void Hash;//定義哈希表類型 typedef void HashKey;//定義哈…

scala spark 數據對比_IT大牛耗時三個月總結出大數據領域學習路線,網友評論:炸鍋了...

大數據不是某個專業或一門編程語言,實際上它是一系列技術的組合運用。有人通過下方的等式給出了大數據的定義。大數據 編程技巧 數據結構和算法 分析能力 數據庫技能 數學 機器學習 NLP OS 密碼學 并行編程雖然這個等式看起來很長,需要學習的東…

Java IdentityHashMap equals()方法與示例

IdentityHashMap類equals()方法 (IdentityHashMap Class equals() method) equals() method is available in java.util package. equals()方法在java.util包中可用。 equals() method is used to check whether this IdentityHashMap object and the given object (ob) are eq…

jQuery中關于Ajax的詳解

本文介紹如何使用jquery實現Ajax功能. 用于發送Ajax請求的相關函數如load, get, getJSON和post這些漸變Ajax方法, 對于核心的ajax 方法沒有過多介紹, 主要是通過配置復雜的參數實現完全控制Ajax請求。 Ajax讓用戶頁面豐富起來, 增強用戶體驗. Ajax是所有Web開發的必修課. 雖然A…

Python---實驗九作業

1,使用tkinter實現計算器程序。實現效果如下: from tkinter import * from tkinter.ttk import *def frame(master):"""將共同的屬性作為默認值, 以簡化Frame創建過程"""w Frame(master)w.pack(sideTOP, expandYES, fill…

分析FLV文件分析和解析器的開源代碼

分析一下GitHub上一份FLV文件分析和解析器的開源代碼 GitHub源碼地址:功能強大的 FLV 文件分析和解析器 :可以將flv文件的視頻tag中的h264類型數據和音頻tag中的aac類型數據導出 (只限h264和aac) (這個代碼不太適合用于大文件的分…

用pv操作描述如下前驅圖_LinkedList實現分析(二)——常用操作

上一篇文章LinkedList實現分析(一)——LinkedList初探與對象創建介紹了LinkedList中的一些重要屬性和構造方法,下面我們將詳細介紹一下LinkedList提高的常用方法的實現原理元素添加###add(E e)方法往LinkedList添加元素,LinkedList提供了多重方式&#x…