版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C#程序設(shè)計(jì)第七章WinForm初步內(nèi)容提要7.7高級(jí)控件7.8
com組件7.9
mdi7.10問與答7.11思考與練習(xí)7.12實(shí)戰(zhàn)任務(wù)7.1窗體7.2控件使用7.3基本控件7.4常用組件7.5菜單7.6對(duì)話框本章重難點(diǎn)常用控件的屬性和方法常用組件(Timer)菜單的使用對(duì)話框的使用高級(jí)控件的使用(richtextbox)MDI(菜單合并)WinForm編程初試計(jì)算1+1=2步驟1、新建WindowsFormApplication2、從左邊控件箱中拖動(dòng)3個(gè)TextBox控件、1個(gè)Label控件和1個(gè)Button控件到窗體上3、在窗體空白處點(diǎn)右鍵選擇“屬性”,設(shè)置Text屬性為”簡易加法器”4、在Label控件上點(diǎn)擊右鍵選擇“屬性”,設(shè)置其Text屬性為”+”5、在Button控件上點(diǎn)擊右鍵選擇“屬性”,設(shè)置其Text屬性為”=”步驟6、雙擊“=”按鈕,為按鈕添加“單擊事件”處理代碼:
int
a,b,c; a=int.Parse(textBox1.Text);
b=int.Parse(textBox2.Text);
c=a+b;
textBox3.Text=c.ToString();7、點(diǎn)擊運(yùn)行按鈕啟動(dòng)程序,輸入兩個(gè)數(shù),點(diǎn)擊“等號(hào)”按鈕Windows窗口編程概要程序由窗體及在窗體上的控件組成控件由屬性和事件組成,屬性控制其外觀、特性、風(fēng)格等代碼的執(zhí)行由事件驅(qū)動(dòng),當(dāng)用戶執(zhí)行某個(gè)操作時(shí),將會(huì)觸發(fā)該控件的某個(gè)事件(例如單擊按鈕會(huì)觸發(fā)其Click事件,移動(dòng)鼠標(biāo)會(huì)產(chǎn)生MouseMove事件),相應(yīng)的,該事件的處理函數(shù)的代碼將會(huì)被執(zhí)行每個(gè)控件都會(huì)響應(yīng)一些不同的事件,例如,單擊Button控件將觸發(fā)按鈕的Click事件Windows窗口編程概要WinForm編程主要就是決定處理控件的哪些事件,然后編寫事件的處理代碼處理代碼主要做:讀取控件的不同屬性獲取用戶在該控件上的輸入或選擇,然后處理,將計(jì)算結(jié)果顯示在控件上,或通過控件反映(設(shè)置控件的屬性或調(diào)用其方法),仍然是輸入,處理,輸出的一個(gè)過程在窗體設(shè)計(jì)器中雙擊某個(gè)控件可進(jìn)入其常用事件處理代碼編輯界面7.1窗體窗體由類System.Windows.Forms.Form封裝窗體是WinForm應(yīng)用開發(fā)中最基本的一個(gè)容器控件,和其它諸多普通控件一樣,都繼承于控件基類System.Windows.Forms.Control,故所有的控件都具有一些共有的特性。7.1 窗體常用屬性7.1 窗體常用屬性7.1 窗體常用屬性7.1 窗體常用方法7.1 窗體常用事件7.1 窗體常用事件7.1 鼠標(biāo)事件參數(shù)MouseEventArgsClick與MouseClick事件很類似,但是MouseClikc事件的參數(shù)附帶了更多的鼠標(biāo)按鍵信息。MouseClick僅能通過鼠標(biāo)操作觸發(fā),而Click事件則不受此限。7.2 控件使用控件添加雙擊“工具箱”中要使用的控件,此時(shí)將會(huì)在窗體的默認(rèn)位置(客戶區(qū)的左上角)添加默認(rèn)大小的控件;在“工具箱”中選中一個(gè)控件,鼠標(biāo)指針變成與該控件對(duì)應(yīng)的形狀;把鼠標(biāo)指針移到窗體中要擺放控件的位置,按下鼠標(biāo)左鍵并拖動(dòng)鼠標(biāo)畫出控件大小后,松開鼠標(biāo)即可在窗體的指定位置繪制指定大小的控件;直接把控件從“工具箱”拖放到窗體中,控件為默認(rèn)大??;直接使用代碼控制添加。7.2 控件使用控件調(diào)整選中要調(diào)整的控件,使用“格式”菜單或是快捷菜單中的命令或者工具欄上的格式按鈕進(jìn)行調(diào)整。在調(diào)整控件的格式時(shí),將按照基準(zhǔn)控件對(duì)選擇的多個(gè)控件進(jìn)行調(diào)整。使用Ctrl鍵或Shift鍵選擇多個(gè)控件,也可以拖動(dòng)鼠標(biāo)選擇一個(gè)控件范圍,此時(shí)最先進(jìn)入窗體的控件將作為調(diào)整的基準(zhǔn)控件。被選中的控件中,基準(zhǔn)控件周圍是白色方框,其他控件周圍是黑色方框。7.2 控件使用控件分層右鍵單擊要操作的控件,從快捷菜單中選擇“置于頂層(或底層)”命令或者單擊工具欄中的置于頂層(或底層)按鈕,則可以把控件置于窗體的最頂層(或底層)。在代碼中將控件置于窗體頂層或底層。7.2 控件使用控件定位在窗體設(shè)計(jì)器中通過拖動(dòng)控件進(jìn)行定位在選中控件之后可以使用箭頭鍵微調(diào),更精確地定位控件通過指定控件的Location屬性來定位控件;既可以手工指定,也可以代碼指定7.2 控件使用控件大小使用鼠標(biāo)直接拖動(dòng)控件大小在窗體中選中控件,然后使用Shift+箭頭鍵來微調(diào)控件大小在屬性窗口中改變控件的Size屬性值通過代碼來調(diào)整Size屬性值通過代碼來調(diào)整Bounds屬性值7.2 控件使用控件錨定-Anchor屬性Anchor屬性用來確定此控件與其容器控件的固定關(guān)系的。Anchor屬性,可以設(shè)定Top、Bottom、Right、Left中的任意幾種。使用Anchor屬性使控件的位置相對(duì)于窗體某一邊固定。7.2控件Anchor屬性例如下圖是按鈕Anchor取值為None時(shí),窗口默認(rèn)和大小改變后的情形7.2控件Anchor屬性下圖是按鈕Anchor取值為Top,Bottom,Left,Right,窗口為改變大小和放大后的情形7.2 控件Dock屬性控件???Dock屬性獲取或設(shè)置控件停靠到父容器的哪一個(gè)邊緣。例如下圖分別是取值為none(默認(rèn))和left的情況7.2 控件Dock屬性下圖分別是取值為bottom和fill的情況fill表示填充滿父容器7.2 控件Dock屬性下圖是文本框控件TextBox的Dock取值為fill的情況(Multiline屬性設(shè)置為true)7.2 控件使用控件的Tab鍵順序控件的Tab鍵順序決定了用戶使用Tab鍵切換時(shí)的順序。默認(rèn)情況下,控件的Tab鍵順序就是控件添加到窗體中的順序。7.2 控件使用鍵盤事件處理兩類:第一類是KeyPress事件,當(dāng)按下的鍵表示的是一個(gè)ASCII字符時(shí)就會(huì)觸發(fā)這類事件,可通過它的
KeyPressEventArgs類型參數(shù)的屬性KeyChar來確定按下鍵的ASCII碼。使用KeyPress事件無法判斷是否按下了修改鍵(例如
Shift,Alt和Ctrl鍵);第二類是KeyUp或KeyDown事件,該類事件有一個(gè)KeyEventArgs類型的參數(shù),通過該參數(shù)可以測(cè)試是否按下了一些修改鍵、功能鍵等特殊按鍵信息。7.2 控件使用KeyPressEventArgs類的主要屬性(KeyPress事件的參數(shù)類型)Handled:用來獲取或設(shè)置一個(gè)值,該值指示是否處理過KeyPress事件KeyChar:用來獲取按下的鍵對(duì)應(yīng)的字符,通常是該鍵的ASCII碼7.2 控件使用KeyEventArgs類的主要屬性(KeyUp和KeyDown事件的參數(shù)類型)Alt:用來獲取一個(gè)值,該值指示是否曾按下Alt鍵Control:用來獲取一個(gè)值,該值指示是否曾按下Ctrl鍵Handled:用來獲取或設(shè)置一個(gè)值,該值指示是否處理過此事件KeyCode:以Keys枚舉型值返回鍵盤鍵的鍵碼,該屬性不包含修改鍵(Alt、Control和Shift鍵)信息,用于測(cè)試指定的鍵盤鍵KeyData:以Keys枚舉類型值返回鍵盤鍵的鍵碼,并包含修改鍵信息,用于判斷關(guān)于按下鍵盤鍵的所有信息KeyValue:以整數(shù)形式返回鍵碼,而不是Keys枚舉類型值。用于獲得所按下鍵盤鍵的數(shù)字表示Modifiers:以Keys枚舉類型值返回所有按下的修改鍵(Alt、Control和Shift鍵),僅用于判斷修改鍵信息Shift:用來獲取一個(gè)值,該值指示是否曾按下Shift鍵7.2 控件使用鼠標(biāo)事件處理MouseEnter:在鼠標(biāo)指針進(jìn)入控件時(shí)發(fā)生。MouseMove:在鼠標(biāo)指針移到控件上時(shí)發(fā)生。事件處理程序接收一個(gè)MouseEventArgs類型的參數(shù),該參數(shù)的主要屬性及其含義如下。Button:用來獲取按下的是哪個(gè)鼠標(biāo)按鈕。該屬性是MouseButtons枚舉型的值,取值及含義如下:Left(按下鼠標(biāo)左按鈕)、Middle(按下鼠標(biāo)中按鈕)、Right(鼠標(biāo)右按鈕)、None(沒有按下鼠標(biāo)按鈕)Clicks:用來獲取按下并釋放鼠標(biāo)按鈕的次數(shù)Delta:用來獲取鼠標(biāo)輪已轉(zhuǎn)動(dòng)的制動(dòng)器數(shù)的有符號(hào)計(jì)數(shù)。制動(dòng)器是鼠標(biāo)輪的一個(gè)凹口X:用來獲取鼠標(biāo)所在位置的x坐標(biāo)Y:用來獲取鼠標(biāo)所在位置的y坐標(biāo)7.2 控件使用鼠標(biāo)事件處理MouseHover:當(dāng)鼠標(biāo)指針懸停在控件上時(shí)將發(fā)生該事件MouseDown:當(dāng)鼠標(biāo)指針位于控件上并按下鼠標(biāo)鍵時(shí)將發(fā)生該事件。MouseWheel:在移動(dòng)鼠標(biāo)輪并且控件有焦點(diǎn)時(shí)將發(fā)生該事件。MouseUp:當(dāng)鼠標(biāo)指針在控件上并釋放鼠標(biāo)鍵時(shí)將發(fā)生該事件。MouseLeave:在鼠標(biāo)指針離開控件時(shí)將發(fā)生該事件7.2 控件事件處理雙擊控件,可處理該控件的常用事件雙擊不同的控件,默認(rèn)處理的事件是不同的如:Button
默認(rèn)處理Click
事件TextBox默認(rèn)處理TextChanged事件Form默認(rèn)處理FromLoad事件鼠標(biāo)、鍵盤事件處理舉例新建WinForm應(yīng)用在窗體上拖入一個(gè)Label控件,將其Text屬性設(shè)置為“愚人節(jié)快樂!”,自行設(shè)置字體大小顏色等,將其Visible屬性設(shè)置為false單擊窗體空白處選中窗體,在屬性窗口切換到事件界面,在KeyDown事件后面雙擊處理該事件,然后輸入后面的代碼;同樣的方法處理MouseEnter和MouseLeave事件鼠標(biāo)、鍵盤事件處理舉例private
void
Form1_KeyDown(object
sender,KeyEventArgse){
if(e.Control&&e.Alt&&e.Shift&&
(e.KeyCode==Keys.A))label1.Visible=true;
else
label1.Visible=false;}private
void
Form1_MouseEnter(object
sender,EventArgse){
Randomrd=new
Random();
this.BackColor=Color.FromArgb(rd.Next(0,256),
rd.Next(0,256),rd.Next(0,256));}private
void
Form1_MouseLeave(object
sender,EventArgse){
this.BackColor=
Color.FromKnownColor(KnownColor.WindowFrame);}限制文本框只能輸入數(shù)字//處理TextBox的
KeyPress事件private
voidtextBox1_KeyPress(objectsender,
KeyPressEventArgs
e){if
(!(e.KeyChar>='0'&&e.KeyChar<='9')&&
e.KeyChar!='\b'&&e.KeyChar!='.') e.Handled=true;//告訴下一個(gè)處理者該事件已處理}窗口關(guān)閉確認(rèn),及MessageBox//處理窗口的FormClosing事件private
voidForm1_FormClosing(objectsender,
FormClosingEventArgs
e){
if
(MessageBox.Show("確定要退出嗎?","確認(rèn)",
MessageBoxButtons.YesNo,MessageBoxIcon.Question)
==DialogResult.No)
{ e.Cancel=true;}}7.3 基本控件LabelButtonRadioButtonCheckBoxTextBoxListBoxComboBoxPictureBoxProgressBarGroupBoxMonthCalendar7.3 基本控件LabelLabel是最簡單最基本的一個(gè)控件。它通常用于顯示靜態(tài)文本,比如為其他控件顯示描述性信息或根據(jù)應(yīng)用程序的狀態(tài)顯示相應(yīng)的提示信息,一般不需要對(duì)標(biāo)簽進(jìn)行事件處理。7.3 基本控件LabelLabel常用屬性有:Text:設(shè)置標(biāo)簽中顯示的說明文字Size:設(shè)置標(biāo)簽大小AutoSize:用來獲取或設(shè)置一個(gè)值,該值指示是否自動(dòng)調(diào)整控件的大小以完整顯示其內(nèi)容。取值為true時(shí),控件將自動(dòng)調(diào)整到剛好能容納文本時(shí)的大小,取值為false時(shí),控件的大小為設(shè)計(jì)時(shí)的大小。默認(rèn)值為false。BackColor:用來獲取或設(shè)置控件的背景色。當(dāng)該屬性值設(shè)置為Color.Transparent時(shí),標(biāo)簽將透明顯示,即背景色不再顯示出來。Enabled:用來設(shè)置或返回控件的狀態(tài)。值為true時(shí)允許使用控件,值為false時(shí)禁止使用控件,此時(shí)標(biāo)簽呈暗淡色,一般在代碼中設(shè)置。7.3 基本控件ButtonButton常用屬性。Image:設(shè)置顯示在按鈕上的圖像FlatStyle:設(shè)置按鈕的外觀,即定義如何繪制控件的邊緣,取值為枚舉值:Flat(平面的)PopUp(由平面到凸起)Standard(三維邊界)System(根據(jù)操作系統(tǒng)決定)TextAlign指定按鈕文字的對(duì)齊方式;7.3 基本控件Button常用事件:Click:當(dāng)用戶用鼠標(biāo)左鍵單擊按鈕控件時(shí)觸發(fā)MouseDown:當(dāng)用戶在按鈕控件上按下鼠標(biāo)按鈕時(shí)觸發(fā)MouseUp:當(dāng)用戶在按鈕控件上釋放鼠標(biāo)按鈕時(shí)觸發(fā)MouseMove:當(dāng)用戶在按鈕上移動(dòng)鼠標(biāo)時(shí)觸發(fā)Button舉例:“抓悟空”小游戲
private
voidbutton1_MouseMove(objectsender,MouseEventArgse)
{
Size
s=this.ClientSize;//除窗口控制欄外的客戶區(qū)
Button
btn=senderas
Button;//類似于強(qiáng)制類型轉(zhuǎn)換
Random
r=new
Random();
int
x,y;
x=r.Next(0,s.Width-btn.Width);//注意最大取值
y=r.Next(0,s.Height-btn.Height);
btn.Location
=new
Point(x,y);//設(shè)置按鈕左上角的位置}Button舉例:“抓悟空”小游戲
private
voidbutton1_Click(objectsender,EventArgse)
{
MessageBox.Show("恭喜你抓到了!");
}7.3 基本控件RadioButtonRadioButton常用屬性:CheckAlign 設(shè)置單選按鈕的對(duì)齊方式,即文字與小圓圈的位置關(guān)系;Checked:用來確定單選按鈕是否被選擇,該屬性很有用;Text:用來設(shè)置或返回單選按鈕控件內(nèi)顯示的文本,該屬性也可以包含訪問鍵,即前面帶有“&”符號(hào)的字母,這樣用戶就可以通過同時(shí)按Alt鍵和訪問鍵來選中控件。7.3 基本控件RadioButtonRadioButton主要事件有:CheckedChanged:改變單選框Checked屬性時(shí)觸發(fā)。MouseDown:按下鼠標(biāo)時(shí)觸發(fā)。MouseDown和Click事件的區(qū)別MouseDown:按下鼠標(biāo)時(shí)觸發(fā)(還未松開鼠標(biāo)即觸發(fā))。Click:按下鼠標(biāo)然后松開后才觸發(fā)。7.3 基本控件RadioButtonRadioButton分組規(guī)則:同一個(gè)容器中的RadioButton
默認(rèn)為一組典型的容器包括:Form,GroupBox,Panel,TabControl等RadioButton舉例RadioButton舉例private
voidbutton1_Click(objectsender,EventArgse){if
(radioButton1.Checked)labelResult.Text="恭喜你,答對(duì)了!";else
if(radioButton4.Checked){
labelResult.Text="場(chǎng)外求助..."; radioButton4.Enabled=false;}else labelResult.Text="很遺憾,你答錯(cuò)了!";}7.3 基本控件CheckBoxCheckBox主要屬性有:Checked:獲取或設(shè)置復(fù)選框是否選中。但與單選按鈕不同之處是,復(fù)選框可以支持3種狀態(tài)(增加一種不確定狀態(tài))。CheckState:用來設(shè)置或返回復(fù)選框的狀態(tài),有三種可能:Checked,Unchecked,Indeterminate(未被選中也未被清除,且顯示禁用復(fù)選標(biāo)記)。復(fù)選框處于選中或不確定狀態(tài)時(shí),Checked屬性都為true。Appearance:當(dāng)復(fù)選框的Appearance屬性設(shè)置成Button時(shí),不確定狀態(tài)是平面按鈕,選中狀態(tài)是按下的按鈕,未選定狀態(tài)是凸起按鈕。TextAlign:用來設(shè)置控件中文字的對(duì)齊方式,有9種選擇7.3 基本控件CheckBox主要事件有:CheckedChanged:改變復(fù)選框Checked屬性時(shí)觸發(fā)。CheckStateChanged:改變復(fù)選框CheckedState屬性時(shí)觸發(fā)。CheckBox舉例當(dāng)用戶選某項(xiàng)時(shí),該項(xiàng)文字加粗變綠點(diǎn)擊“確定”,提示“您選擇了:…”確定按鈕單擊事件處理代碼
private
voidbutton1_Click(objectsender,EventArgse)
{ string
s="";
if(this.checkBox1.Checked){s=s+this.checkBox1.Text+"\n";
}
if(this.checkBox2.Checked){s=s+this.checkBox2.Text+"\n";
}
if(this.checkBox3.Checked)
{s=s+this.checkBox3.Text+"\n";
}
if(this.checkBox4.Checked){s=s+this.checkBox4.Text+"\n";
}
MessageBox.Show(“您選擇了:\n"+s);
}CheckBoxCheckedChanged
事件處理代碼(以checkBox1為例)
private
void
checkBox1_CheckedChanged(object
sender,EventArgse)
{
if(this.checkBox1.Checked)
{
this.checkBox1.Font=
new
Font(this.checkBox1.Font,FontStyle.Bold);
this.checkBox1.ForeColor=Color.Green;
}
else
{
this.checkBox1.Font=
new
Font(this.checkBox1.Font,FontStyle.Regular);
this.checkBox1.ForeColor=Color.Black;
}
}確定按鈕單擊事件處理代碼:高效寫法
private
voidbutton1_Click(objectsender,EventArgse)
{
CheckBox[]cbs=new
CheckBox[4]{this.checkBox1,
this.checkBox2,this.checkBox3,this.checkBox4};
string
s="";
foreach(CheckBoxcincbs)
{
if(c.Checked)
{s=s+c.Text+"\n";
}
}
MessageBox.Show("您選擇了:\n"+s);
}CheckBoxCheckedChanged
事件處理代碼(多個(gè)控件用同一個(gè)事件處理方法)
private
void
checkBox1_CheckedChanged(object
sender,EventArgse)
{
CheckBox
cb=senderas
CheckBox;//sender就是產(chǎn)生事件的對(duì)象
if(cb.Checked)
{cb.Font=new
Font(cb.Font,FontStyle.Bold);cb.ForeColor=Color.Green;
}
else
{cb.Font=new
Font(cb.Font,FontStyle.Regular);cb.ForeColor=Color.Black;
}
}1、先雙擊checkBox1寫出其CheckedChanged處理代碼2、按著Ctrl鍵同時(shí)選中其他checkBox,在其事件CheckedChanged,右邊選擇checkBox1_CheckedChanged方法7.3 基本控件TextBoxTextBox是除按鈕控件外最常用的控件,常用于接收文本輸入。7.3 基本控件TextBoxTextBox常用屬性如下:Enabled:獲取或者設(shè)置控件是否可以響應(yīng)用戶操作。Multiline:獲取或者設(shè)置控件是否顯示為多行文本框。TextAlign:獲取或者設(shè)置控件中文本的對(duì)齊方式;Visible:獲取或者設(shè)置控件是否可見。WordWrap:獲取或設(shè)置控件在必要時(shí)是否自動(dòng)換行。Text:該屬性是文本框最重要的屬性,因?yàn)橐@示的文本就包含在Text屬性中。若需要對(duì)文本作更豐富的處理,則可以采用RichTextBox控件。MaxLength:用來設(shè)置文本框允許輸入字符的最大長度,該屬性值為0時(shí),不限制輸入的字符數(shù)。ReadOnly:獲取或者設(shè)置文本框是否允許用戶輸入7.3 基本控件TextBoxTextBox常用屬性如下:TextLength:獲取控件中文本的長度。PasswordChar:是一個(gè)字符串類型,允許設(shè)置一個(gè)字符,運(yùn)行程序時(shí),將輸入到Text的內(nèi)容全部顯示為該屬性值,從而起到保密作用,通常用來輸入密碼。SelectionLength:用來獲取或設(shè)置文本框中選定的字符數(shù)。只能在代碼中使用,值為0時(shí),表示未選中任何字符。SelectionStart:用來獲取或設(shè)置文本框中選定的文本起始點(diǎn)。只能在代碼中使用,第一個(gè)字符的位置為0,第二個(gè)字符的位置為1,依此類推。SelectedText:用來獲取或設(shè)置一個(gè)字符串,該字符串指示控件中當(dāng)前選定的文本。只能在代碼中使用7.3 基本控件TextBoxTextBox常用方法如下:Clear:清除文本框中的所有文本,調(diào)用格式為:textBox1.Clear();Copy:把文本框中的當(dāng)前選擇文字復(fù)制到剪貼板,調(diào)用格式:textBox1.Copy();Cut:把文本框中的當(dāng)前選擇文字移動(dòng)到剪貼板,調(diào)用格式:textBox1.Cut();Paste:使用剪貼板中的內(nèi)容替換文本框中當(dāng)前選擇的內(nèi)容,調(diào)用格式:textBox1.Paste();Focus:為文本框設(shè)置焦點(diǎn)。如果焦點(diǎn)設(shè)置成功,值為true,否則為false。調(diào)用格式為:textBox1.Focus();SelectAll:選擇文本框中的所有內(nèi)容,調(diào)用格式:textBox1.SelectAll();7.3 基本控件TextBox常用事件鼠標(biāo)依次點(diǎn)擊TextBox1和TextBox2,TextBox1的事件觸發(fā)順序?yàn)椋篍nterGotFocusLostFocusLeaveValidatingValidated關(guān)于TextBox的Validating事件處理參數(shù)為:
(objectsender,CancelEventArgse)
設(shè)置e.Cancel=true,將取消光標(biāo)的離開,使控件重新獲得輸入焦點(diǎn)TextBox的Validating事件處理舉例private
voidtextBox1_Validating(objectsender,CancelEventArgs
e){
string
s=this.textBox1.Text;
if(s.Length>0&&!s.Contains("@"))
{ MessageBox.Show("您輸入的郵件地址有誤,請(qǐng)重試!"); e.Cancel=true;}}TextBox通常處理其TextChanged事件可實(shí)時(shí)處理用戶的每個(gè)字符輸入private
voidtextBox1_TextChanged(objectsender,EventArgs
e){
textBox2.Text=textBox1.Text;}7.3 基本控件ListBoxListBox常用屬性:Items:保存列表框中顯示的項(xiàng),通過這個(gè)屬性訪問項(xiàng)或?qū)@些項(xiàng)進(jìn)行操作Items[i]:返回第i個(gè)項(xiàng),類型為objectSelectionMode:指定列表框中項(xiàng)的選擇方式,默認(rèn)情況下列表框一次只能選擇一項(xiàng)。取值如下:MultiExtended:允許一次選擇多項(xiàng)并使用Shift和Ctrl鍵來實(shí)現(xiàn)擴(kuò)展選擇MultiSimple:允許一次選擇多項(xiàng),但只能通過單擊或空格來選擇None:不能在列表框中選擇One:一次只選擇一項(xiàng)(默認(rèn))Text:返回當(dāng)前選定項(xiàng)的文本。該屬性用來獲取或搜索列表框中當(dāng)前選定項(xiàng)的文本。7.3 基本控件ListBoxListBox常用屬性:獲取所選項(xiàng)的索引SelectedIndex:用來獲取或設(shè)置ListBox控件中當(dāng)前選定項(xiàng)的從零開始的索引。如果未選定任何項(xiàng),則返回-1。對(duì)于只能選擇一項(xiàng)的ListBox控件,可使用此屬性確定列表框中選定的項(xiàng)的索引。若列表框的SelectionMode屬性設(shè)置為SelectionMode.MultiSimple
或SelectionMode.MultiExtended,并在該列表中選定多項(xiàng),此時(shí)該屬性只能獲得所有被選項(xiàng)中的第一個(gè)項(xiàng)SelectedIndices:在列表框允許選擇多項(xiàng)時(shí)用來獲取當(dāng)前所有選定項(xiàng)的索引集,這是一個(gè)SelectedIndexCollection類實(shí)例SelectedIndices[i]:被選中的第i個(gè)項(xiàng)的索引SelectedIndices.Count:被選中索引集的個(gè)數(shù)7.3 基本控件ListBoxListBox常用屬性:獲取所選項(xiàng)SelectedItem:在列表框只允許選擇一項(xiàng)時(shí)用來獲取當(dāng)前所選擇項(xiàng)SelectedItems:在列表框允許選擇多項(xiàng)時(shí)用來獲取當(dāng)前選擇的多個(gè)項(xiàng)的集合,這是一個(gè)SelectedObjectCollection類實(shí)例SelectedItems.Count:返回選中個(gè)數(shù)SelectedItems[i]:被選中的第i個(gè)項(xiàng)7.3 基本控件ListBoxListBox常用方法Items.Add:向列表框的底部增添一個(gè)列表項(xiàng),調(diào)用格式:listBox1.Items.Add(s):把參數(shù)s添加到列表框中Items.AddRange:將一個(gè)數(shù)組添加到列表框,調(diào)用格式listBox1.Items.Add(array);每個(gè)數(shù)組元素作為一個(gè)項(xiàng)Items.Insert:在列表框中指定位置插入一個(gè)列表項(xiàng),調(diào)用格式:ListBox對(duì)象.Items.Insert(n,s):參數(shù)n代表要插入的項(xiàng)的位置索引,索引不能小于0,不能大于當(dāng)前項(xiàng)目數(shù);參數(shù)s代表要插入的項(xiàng),其功能是把s插入到listBox控件指定的列表框的索引為n的位置處。但是需要注意的是:在Sorted屬性為true時(shí),Insert方法插入的項(xiàng)不能被正確排序。Items.Remove方法:刪除指定項(xiàng),調(diào)用格式:Remove(item);Items.RemoveAt方法:刪除指定索引的項(xiàng),調(diào)用格式:listBox1.Items.RemoveAt(index);參數(shù)為索引7.3 基本控件ListBox常用方法Items.Clear:清除列表框中的所有項(xiàng)。調(diào)用格式:listBox1.Items.Clear();SetSelected:用來選中某一項(xiàng)或取消對(duì)某一項(xiàng)的選擇,調(diào)用格式:ListBox1.SetSelected(n,b):如果參數(shù)b的值是true,則在列表框中選中索引為n的列表項(xiàng),如果參數(shù)b的值是false,則索引為n的列表項(xiàng)未被選中。GetSelected:返回一個(gè)值,該值表明是否選定了指定的項(xiàng)FindString:查找以指定字符串開頭的項(xiàng),找到則返回該項(xiàng)的索引值,否則返回ListBox.NoMatches
FindStringExact:精確查找內(nèi)容等于指定字符串的項(xiàng),找到則返回該項(xiàng)的索引值,否則返回ListBox.NoMatches7.3 基本控件ListBox大批量更新數(shù)據(jù)方法:listBox1.BeginUpdate()//插入刪除等listBox1.EndUpdate()可防止閃爍7.3 基本控件ListBox控件常用事件有ClickDoubleClickSelectedIndexChangedListBox舉例ListBox舉例//多個(gè)列表項(xiàng)目的刪除private
voidbtnDel_Click(objectsender,EventArgse){//for(inti=0;i<listBox1.SelectedItems.Count;i++)
//listBox1.Items.Remove(listBox1.SelectedItems[i]);//是否可行?
//for(inti=0;i<listBox1.SelectedIndices.Count;i++)//listBox1.Items.RemoveAt(listBox1.SelectedIndices[i]);//是否可行?int
n=listBox1.SelectedIndex;while
(listBox1.SelectedItems.Count>0)
listBox1.Items.Remove(listBox1.SelectedItems[0]);}ListBox舉例//多個(gè)列表項(xiàng)目的上移private
voidbtnMoveUp_Click(objectsender,EventArgse){intn=listBox1.SelectedIndex;if(n>0){foreach(intiinlistBox1.SelectedIndices){listBox1.Items.Insert(i-1,listBox1.Items[i]);listBox1.Items.RemoveAt(i+1);listBox1.SetSelected(i-1,true);}}}7.3 基本控件ComboBoxComboBox:即組合框,由一個(gè)文本框和一個(gè)下拉列表組成可以在文本框中直接輸入也可以從下拉列表中選擇其中的某一個(gè)選項(xiàng),不能多選(故它無SelectionMode屬性)對(duì)于只選一個(gè)選項(xiàng)的場(chǎng)合,ComboBox控件的優(yōu)勢(shì)在于占用空間少。ComboBox究竟是否能夠接受用戶輸入,這取決于設(shè)置。ComboBox的顯示風(fēng)格也可以設(shè)置,這是通過DropDownStyle屬性來實(shí)現(xiàn)。7.3 基本控件ComboBoxComboBox常用屬性:ComboBox常用屬性:(1)DropDownStyle屬性該屬性用于設(shè)置組合框的樣式。有3種可選值:Simple:上面為一個(gè)TextBox,下面為一個(gè)ListBox,二者組合,可以輸入。DropDown:具有下拉列表框,可以選擇,也可以直接輸入選擇項(xiàng)中不存在的文本。該值是默認(rèn)值。DropDownList:具有下拉列表框,只能選擇已有可選項(xiàng)中的值,不能輸入其他的文本。ComboBox常用屬性(2)MaxDropDownItems屬性該屬性用于設(shè)置下拉列表框中最多顯示列表項(xiàng)的個(gè)數(shù)。有更多的項(xiàng),則產(chǎn)生垂直滾動(dòng)條7.3 基本控件ComboBoxComboBox常用事件7.3 基本控件ComboBoxComboBox常用方法:和ListBox類似,如listBox1.Items.Add()、
listBox1.Items.Insert()等Text屬性為ComboBox中當(dāng)前內(nèi)容(1)創(chuàng)建一個(gè)Windows窗體應(yīng)用程序,在窗體上添加如圖所示的控件。其中,將兩個(gè)ComboBox控件分別命名為cboCountry和cboCity,“確定”按鈕命名為btnOk。(2)更改兩個(gè)ComboBox控件的DropDownStyle屬性為DropDownList。為cboCountry有Items添加如下內(nèi)容:中國美國英國ComboBox舉例
7.3.8組合框控件
(3)編寫程序代碼,實(shí)現(xiàn)如下的功能:當(dāng)cboCountry中,選擇相應(yīng)的國家,在cboCity中顯示該國家的部分城市。
7.3.8組合框控件
(4)程序完整代碼如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;
namespaceUseComboBox{
public
partial
classForm1:Form{
7.3.8組合框控件
publicForm1(){ InitializeComponent();}private
voidForm1_Load(objectsender,EventArgse){ cboCountry.SelectedIndex=0;}
7.3.8組合框控件
privatevoidcboCountry_SelectedIndexChanged(objectsender,EventArgse){
switch(cboCountry.SelectedIndex){
case0:cboCity.Items.Clear();cboCity.Items.Add("北京");cboCity.Items.Add("上海");cboCity.Items.Add("天津");cboCity.SelectedIndex=0;
break;
7.3.8組合框控件
case1:cboCity.Items.Clear();cboCity.Items.Add("華盛頓");cboCity.Items.Add("紐約");cboCity.Items.Add("芝加哥");cboCity.SelectedIndex=0;
break;
case2:cboCity.Items.Clear();cboCity.Items.Add("倫敦");cboCity.Items.Add("曼徹斯特");cboCity.Items.Add("考文垂");cboCity.SelectedIndex=0;
break;
7.3.8組合框控件
default:cboCity.Items.Clear();
break;}}
privatevoidbtnOk_Click(objectsender,EventArgse){
stringstrSelect=cboCountry.SelectedItem.ToString()+":"+cboCity.SelectedItem.ToString();
MessageBox.Show(strSelect,"國家城市列表",
MessageBoxButtons.OK,MessageBoxIcon.Information);}}}
7.3.8組合框控件
運(yùn)行程序,可以實(shí)現(xiàn)在任意選擇國家組合框中的項(xiàng),右側(cè)的城市也隨之改變,如圖9-27所示。單擊“確定”按鈕,通過MessageBox提示框顯示所選的內(nèi)容,如圖9-28所示。說明:代碼在Form1窗體的Load事件中對(duì)cboCountry控件的SelectedIndex屬性賦值,使其默認(rèn)選擇一個(gè)選擇,避免了運(yùn)行程序時(shí)組合框是所選內(nèi)容為空。隨后的代碼處理了cboCountry控件的SelectedIndexChanged事件,根據(jù)不同的國家添加不同的城市名稱。7.3 基本控件PictureBoxPictureBox常用屬性:Image:用來設(shè)置控件要顯示的圖像。設(shè)計(jì)時(shí)確定:設(shè)計(jì)時(shí)單擊Image屬性,在其后將出現(xiàn)【…】按鈕,單擊該按鈕將出現(xiàn)一個(gè)【打開】對(duì)話框,在該對(duì)話框中找到相應(yīng)的圖形文件后單擊【確定】按鈕。代碼方式:產(chǎn)生一個(gè)Bitmap類的實(shí)例并賦值給Image屬性。形式如下:Bitmapp=newBitmap(圖像文件名);pictureBox1.Image=p;代碼方式:通過Image.FromFile方法直接從文件中加載。形式如下:pictureBox1.Image=Image.FromFile(圖像文件名);代碼方式:pictureBox1.Load("圖片路徑");清除圖像:pictureBox1.Image=null;7.3 基本控件PictureBoxPictureBox常用屬性:ImageLocation:設(shè)置圖片框顯示的圖片的路徑pictureBox1.ImageLocation="圖片路徑";
pictureBox1.Load();7.3 基本控件PictureBoxPictureBox常用屬性:SizeMode:用來決定圖像的顯示模式。其取值如下:AutoSize:調(diào)整控件PictureBox大小,使其等于所包含的圖像大小。CenterImage:如果控件PictureBox比圖像大,則圖像將居中顯示。如果圖像比控件大,則圖片將居于控件中心,而外邊緣將被剪裁掉。Normal:圖像被置于控件的左上角。如果圖像控件大,則超出部分被剪裁掉。StretchImage:控件中的圖像被拉伸或收縮,以適合控件的大小。Zoom:圖像維持縱橫比放大或縮小以適應(yīng)控件大小PictureBox舉例PictureBox舉例private
voidbtnOpen_Click(objectsender,EventArgse){ this.openFileDialog1.Filter=
"圖像文件(*.jpg;*.bmp;*.png;*.gif)|*.jpg;*.bmp;*.png;*.gif"; if(this.openFileDialog1.ShowDialog()==DialogResult.OK) {
this.pictureBox1.Image=
Image.FromFile(this.openFileDialog1.FileName); }
}private
voidbtnClear_Click(objectsender,EventArgse){ this.pictureBox1.Image=null;}7.3 基本控件ProgressBar
ProgressBar
控件又稱進(jìn)度條控件,常用于需要大量時(shí)間的場(chǎng)合,用它來指示當(dāng)前處理進(jìn)度、完成的百分比,告訴用戶程序正在運(yùn)行。7.3 基本控件ProgressBar
ProgressBar常用屬性:Maximum:設(shè)置或返回進(jìn)度條的最大值,默認(rèn)值為100。Minimum:設(shè)置或返回進(jìn)度條的最小值,默認(rèn)值為0。Value:設(shè)置或返回進(jìn)度條的當(dāng)前值。Step:設(shè)置或返回一個(gè)值,該值用來決定每次調(diào)用PerformStep方法時(shí),Value屬性增加的幅度。Style:該屬性是進(jìn)度條控件的一個(gè)常用屬性,用了決定控件運(yùn)行時(shí)的外觀,其取值為Blocks、Continuous、Marquee。以Blocks使用體驗(yàn)最好。7.3 基本控件ProgressBar
ProgressBar常用方法:Increment:按該方法的參數(shù)指定的值增加進(jìn)度條的值,調(diào)用的一般格式如下:progressBar1.Increment(n);其功能是把progressBar1的Value屬性值增加n,n為整數(shù)。PerformStep:按step屬性值來增加進(jìn)度條的Value屬性值,調(diào)用的一般格式如下:progressBar1.PerformStep();ProgressBar舉例ProgressBar舉例ProgressBar舉例ProgressBar舉例
public
partial
class
ProgressBarTest:Form
{ bool
running=false;
private
voidProgressBarTest_Load(objectsender,EventArgse)
{
this.timer1.Interval=50;
this.timer1.Enabled=false;
gressBar1.Step=1;
} …ProgressBar舉例
private
voidtimer1_Tick(objectsender,EventArgse)
{
gressBar1.PerformStep();
this.Text=gressBar1.Value.ToString()+"%";
if(gressBar1.Value==100)
{
this.btnStartPause.Text="已完成";
this.timer1.Stop();
}
}ProgressBar舉例
private
voidbtnStartPause_Click(objectsender,EventArgse)
{
Buttonbtn=senderas
Button;
if(running==false)
{
this.timer1.Start();running=true;btn.Text="暫停";
}
else
{
this.timer1.Stop();running=false;btn.Text="繼續(xù)";
}
}7.3.6基本控件MaskedTextBox和TextBox基本相同。但通過設(shè)置Mask屬性可以設(shè)置文本框可接受數(shù)據(jù)的格式Mask屬性的取值參見課本P204Text屬性獲取輸入框內(nèi)容MaskedTextBoxMask屬性設(shè)置NumericUpDown控件可上下改變數(shù)值,也可輸入數(shù)字Value屬性為其數(shù)值Minimum、Maximum屬性決定了其數(shù)值范圍(必須為非負(fù)整數(shù)當(dāng)其數(shù)值改變后將觸發(fā)ValueChanged事件滾動(dòng)條HScrollBar、VScrollBar控件在“所有控件”里面滑塊的位置代表其Value屬性的值Minimum、Maximum屬性決定了其數(shù)值范圍(必須為非負(fù)整數(shù)SmallChange屬性:單擊兩邊箭頭Value改變的值LargeChange屬性:單擊滑塊兩邊Value改變的值注意:在VS2010中,Value屬性要想取得最大值Maximum,LargeChange必須等于1(默認(rèn)為10),否則Value最大取值只能到Maximum–LargeChange+1。(Bug?)滑塊的滑動(dòng)將觸發(fā)Scroll事件HScrollBar、NumericUpDown舉例注意:RGB顏色的每個(gè)分量最大值為255HScrollBar、NumericUpDown舉例 private
voidhScrollBar1_Scroll(objectsender,ScrollEventArgse)
{
this.numericUpDown1.Value=this.hScrollBar1.Value;label1.BackColor=Color.FromArgb(hScrollBar1.Value,
hScrollBar2.Value,hScrollBar3.Value);
}
private
voidnumericUpDown1_ValueChanged(objectsender,EventArgse)
{
this.hScrollBar1.Value=(int)this.numericUpDown1.Value;label1.BackColor=Color.FromArgb(hScrollBar1.Value,
hScrollBar2.Value,hScrollBar3.Value);
}HScrollBar、NumericUpDown舉例 private
void
hScrollBar2_Scroll(object
sender,ScrollEventArgse)
{
this.numericUpDown2.Value=this.hScrollBar2.Value;label1.BackColor=Color.FromArgb(hScrollBar1.Value,
hScrollBar2.Value,hScrollBar3.Value);
}
private
void
numericUpDown2_ValueChanged(object
sender,EventArgse)
{
this.hScrollBar2.Value=(int)this.numericUpDown2.Value;label1.BackColor=Color.FromArgb(hScrollBar1.Value,
hScrollBar2.Value,hScrollBar3.Value);
}HScrollBar、NumericUpDown舉例 private
void
hScrollBar3_Scroll(object
sender,ScrollEventArgse)
{
this.numericUpDown3.Value=this.hScrollBar3.Value;label1.BackColor=Color.FromArgb(hScrollBar1.Value,
hScrollBar2.Value,hScrollBar3.Value);
}
private
void
numericUpDown3_ValueChanged(object
sender,EventArgse)
{
this.hScrollBar3.Value=(int)this.numericUpDown3.Value;label1.BackColor=Color.FromArgb(hScrollBar1.Value,
hScrollBar2.Value,hScrollBar3.Value);
}7.3 基本控件GroupBoxGroupBox是一個(gè)容器控件,用于對(duì)控件進(jìn)行邏輯分組。其典型的用法之一就是給RadioButton控件分組。7.3
基本控件GroupBoxGroupBox常用屬性如下:Text:為分組框設(shè)置標(biāo)題BackColor:設(shè)置分組框背景顏色BackgroundImage:設(shè)置分組框背景圖像AutoSize:設(shè)置分組框是否可以根據(jù)其內(nèi)容調(diào)整大小。AutoSizeMode:獲取或設(shè)置啟用AutoSize屬性時(shí)分組框的行為方式。屬性值為AutoSizeMode枚舉值:GrowAndShrink,根據(jù)內(nèi)容增大或縮??;GrowOnly(默認(rèn)),可根據(jù)其內(nèi)容任意增大,但不會(huì)縮小到Size屬性值以下。Controls:分組框中包含的控件集合??梢允褂迷搶傩缘腁dd,Clear等方法。7.3 基本控件PanelPanel
也是一個(gè)容器控件,類似于GroupBox,但其可以滾動(dòng)。GroupBox、Panel舉例7.3 基本控件MonthCalendarMonthCalendar在窗體中將顯示為一個(gè)日歷界面,可以選擇一個(gè)日期區(qū)間。7.3 基本控件MonthCalendarMonthCalendar常用屬性:MaxSelectionCount:單擊日歷頁面的日期就可以在日歷控件中選擇一個(gè)日期,默認(rèn)情況下最多允許選擇7天,可以通過修改這個(gè)屬性來改變這個(gè)天數(shù)限定。SelectionStart:一個(gè)DateTime值,指定第一個(gè)選擇的日期SelectionEnd:一個(gè)DateTime值,指定最后一個(gè)選擇的日期SelectionRange:一個(gè)SelectionRange對(duì)象,代表控件中所選擇的日期,它具有兩個(gè)屬性Start,一個(gè)DateTime值,代表范圍內(nèi)的第一天;End,一個(gè)DateTime值,代表范圍內(nèi)的最后一天。7.3 基本控件MonthCalendarMonthCalendar常用屬性:MinDate:控制日歷控件允許的最早的有效日期;MaxDate:控制日歷控件允許的最晚的有效日期。ShowToday:指定日期是否可以顯示在日歷的底部,默認(rèn)值為true。ShowTodayCircle:指定是否在當(dāng)前日期周圍畫一個(gè)圈,默認(rèn)為true。TodayDate:設(shè)置控件顯示的日期,默認(rèn)情況下顯示系統(tǒng)日期。ShowWeekNumbers:指定是否在日歷中顯示周數(shù),默認(rèn)為false。7.3 基本控件MonthCalendarMonthCalendar主要事件:DateChanged:日期區(qū)間改變后觸發(fā)MonthCalendar舉例//雙擊控件處理DateChanged事件private
voidmonthCalendar1_DateChanged(objectsender,DateRangeEventArgse){
this.label1.Text=this.monthCalendar1.SelectionStart.ToString("yyyy年M月d日")+"-"+this.monthCalendar1.SelectionEnd.ToString("yyyy年M月d日");
}7.3 基本控件DateTimePickerDateTimePicker控件可讓用戶選擇一個(gè)日期Value屬性代表其日期值,DateTime類型(time部分為當(dāng)前系統(tǒng)時(shí)間)默認(rèn)事件為ValueChanged事件,選擇的日期改變后觸發(fā)DateTimePicker舉例//雙擊控件處理其ValueChanged事件private
voiddateTimePicker1_ValueChanged(objectsender,EventArgse){ this.label1.Text=this.dateTimePicker1.Value.ToString();}7.4 常用組件TimerTimer用于計(jì)時(shí),并以指定的間隔循環(huán)往復(fù)的執(zhí)行某個(gè)動(dòng)作,該控件在運(yùn)行時(shí)不可見。通過計(jì)時(shí)處理可以實(shí)現(xiàn)各種復(fù)雜的動(dòng)作,例如動(dòng)畫效果等。Timer組件的常用屬性:Enable:定時(shí)器事件是否處于運(yùn)行狀態(tài)。默認(rèn)情況下為false,即定時(shí)器不開啟;Interval:指定定時(shí)器控件的時(shí)間間隔,單位為毫秒。如它的值設(shè)置為500,則將每隔0.5秒發(fā)生一個(gè)Tick事件。7.4 常用組件TimerTimer組件的常用方法:Start:啟動(dòng)時(shí)鐘,即把Enable屬性設(shè)為true;Stop:停止時(shí)鐘,把Enable屬性設(shè)為false。Timer組件的常用事件:Tick:在定時(shí)器被開啟并且指定的時(shí)間間隔(即Interval)到達(dá)時(shí)觸發(fā)這個(gè)事件??梢酝ㄟ^捕捉該事件來進(jìn)行代碼操作。Timer舉例:數(shù)字時(shí)鐘
private
voidTimerTest_Load(objectsender
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能家居加盟品牌授權(quán)合同3篇
- 二零二五年度新能源儲(chǔ)能系統(tǒng)購買合同3篇
- 二零二五年度林業(yè)人才培養(yǎng)合作造林協(xié)議3篇
- 2025年度老舊房屋漏水檢測(cè)與賠償專項(xiàng)協(xié)議3篇
- 2025年度股東退出與公司知識(shí)產(chǎn)權(quán)保護(hù)合同3篇
- 二零二五年度模特服裝租賃拍攝合同3篇
- 2025年度房地產(chǎn)公司合伙人項(xiàng)目合作協(xié)議3篇
- 二零二五年度循環(huán)水養(yǎng)殖養(yǎng)魚合作合同3篇
- 2025年度體育場(chǎng)館物業(yè)用房移交及賽事運(yùn)營服務(wù)合同3篇
- 2025年度企業(yè)年會(huì)活動(dòng)宣傳片制作服務(wù)合同模板3篇
- 廣東省深圳市南山區(qū)2023-2024學(xué)年六年級(jí)上學(xué)期期末科學(xué)試卷
- 2023北京東城區(qū)初二上期末考?xì)v史試卷及答案
- 急性腦梗死診治指南
- 檢察院分級(jí)保護(hù)項(xiàng)目技術(shù)方案
- 土木工程建筑中混凝土裂縫的施工處理技術(shù)畢業(yè)論文
- 水電站工程地質(zhì)勘察報(bào)告
- 電站屏柜改造安裝二次工程施工組織設(shè)計(jì)
- DB42∕T 1795-2021 微動(dòng)勘探技術(shù)規(guī)程
- 大潤發(fā)的企業(yè)文化
- 兒童劇劇本─三只小豬
- TROXLER3440核子密度儀
評(píng)論
0/150
提交評(píng)論