窗體的一些基本屬性

1、設(shè)置窗體的屬性

Name: 給窗體起一個(gè)名字(每一個(gè)窗體都是一個(gè)對(duì)象)

FormBorderStyle: 設(shè)置框體的邊框樣式? 6個(gè)值

None:? 去掉邊框

FixedSingle: 不允許拖動(dòng)邊框

SizeAble:? 默認(rèn)值

Text: 設(shè)置窗體的標(biāo)題

ICon:? 設(shè)置窗體及任務(wù)欄顯示的圖標(biāo)

BackgroundImage:? 設(shè)置窗體背景圖片

BackColor:? 設(shè)置窗體背景顏色

StartPosition:? 設(shè)置窗體默認(rèn)顯示位置

CenterScreen:? 居中顯示

CenterParent: 在父窗體中間顯示

WindowState:? 設(shè)置打開時(shí)最大化、最小化、正常

Maximized:最大化

MInimized: :最小化

Normal: 正常窗體大小

2、常用的控件

在工具箱里面找---視圖--工具箱

1、Label:文本標(biāo)簽 顯示文字? 設(shè)置Text屬性值

2、TextBox:? 文本框

3、ComboBox:組合框(下拉框)

設(shè)置下拉列表直接添加項(xiàng),一個(gè)項(xiàng)單獨(dú)一行

4、Button: 按鈕? 設(shè)置顯示文字設(shè)置Text

3、取控件的值

空間名.Text

string? name=? txt_user.Text;

4、事件

窗體的載入事件

load事件:直接雙擊窗體進(jìn)入的事件就是載入事件

click: 單擊事件

5、消息框:

1、? MessageBox.Show(提示語句);

2、? MessageBox.Show(提示語句,標(biāo)題);

3、? MessageBox.Show(提示語句,標(biāo)題,按鈕);

4、? MessageBox.Show(提示語句,標(biāo)題,按鈕,圖標(biāo));

6、消息框的返回值

返回值是 DialogResult 類型

判斷的時(shí)候也需要用到枚舉去判斷

DialogResult? res= MessageBox.Show("帳號(hào)密碼不能為空","警告",

MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);

if (res==DialogResult.OK)

{

txt_name.Focus();//? 獲得焦點(diǎn)

}

7、窗體間的傳值

A窗體傳值傳到B窗體

1、在B窗體添加一個(gè)public修飾的字段name

2、在A窗體創(chuàng)建B窗體對(duì)象后給B窗體的這個(gè)字段賦值

B? b=new B();

b.name="張三";

b.Show();

8、 使用數(shù)據(jù)庫(kù)連接工具類和 業(yè)務(wù)分離,提高程序可維護(hù)性

1、新建一個(gè)數(shù)據(jù)庫(kù)連接工具類 ConnectionUtil

1.1? 先寫數(shù)據(jù)庫(kù)連接字符串

string constr = @"Data Source=.;Initial Catalog=MySchool;User ID=root;pwd=root";

1.2? 定義一個(gè)SqlConnection類型的字段? ? _conn

1.3? 封裝這個(gè)字段 去掉set(不需要從外面賦值)

1.4? 在get里面做判斷,如果_conn字段是空值(也就是沒有創(chuàng)建這個(gè)對(duì)象)

public SqlConnection Conn

{

get {

if (_conn==null)

{

_conn = new SqlConnection(constr);

}

return _conn;

}

注意點(diǎn):

在屬性里面出現(xiàn)的對(duì)象都是小寫的字段,如果使用大寫的屬性,會(huì)出現(xiàn)無限遞歸調(diào)用,

導(dǎo)致內(nèi)存溢出

1.5 自定義一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象打開的方法

(如果直接使用連接對(duì)象.Open(),一旦數(shù)據(jù)庫(kù)連接對(duì)象沒有關(guān)閉時(shí)再次調(diào)用Open()會(huì)報(bào)異常)

1.5.1

public void OpenConn()

{

//ConnectionState? 枚舉類型,指的是數(shù)據(jù)庫(kù)連接對(duì)象的當(dāng)前狀態(tài),需要引入命名空間

// Closed:關(guān)閉? OPen:打開? Broken:阻塞狀態(tài)

if (Conn.State == ConnectionState.Closed)

{

Conn.Open();

}

else if (Conn.State == ConnectionState.Broken)

{

//? 如果是阻塞狀態(tài)? 需要先關(guān)閉 再打開

Conn.Close();

Conn.Open();

}

}

注意點(diǎn): 打開或關(guān)閉方法里面使用的數(shù)據(jù)庫(kù)連接對(duì)象都是用屬性而不用字段

1.6 自定義關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)象的方法

public void CloseConn()

{

//ConnectionState.Closed 指的是數(shù)據(jù)庫(kù)連接對(duì)象的當(dāng)前狀態(tài)

// closed:關(guān)閉? OPen:打開? Broken:阻塞狀態(tài)

if (Conn.State == ConnectionState.Open || Conn.State == ConnectionState.Broken)

{

Conn.Close();

}

}

工具類的用處:

以后需要使用連接對(duì)象時(shí),只需要?jiǎng)?chuàng)建工具類的對(duì)象

通過對(duì)象.Conn屬性獲得連接對(duì)象

通過對(duì)象.OpenConn()? 打開數(shù)據(jù)庫(kù)連接對(duì)象

通過對(duì)象.CLoseConn()? 關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)象

9、創(chuàng)建數(shù)據(jù)庫(kù)操作類--提供給業(yè)務(wù)邏輯類處理數(shù)據(jù)庫(kù)數(shù)據(jù)的一些方法

對(duì)數(shù)據(jù)庫(kù)的增刪改查的方法

9.1? 定義一個(gè)數(shù)據(jù)庫(kù)連接工具類對(duì)象(對(duì)象.Conn獲取連接對(duì)象)

ConnectionUtil? connUtil=new ConnectionUtil();

自定義方法? ---查詢的方法

public? ? SqlDataReader? GetStudentByNo(string sql)

{

//? 1、獲得數(shù)據(jù)庫(kù)連接對(duì)象

SqlConnection? sqlConn=? ? connUtil.Conn;

//? 2、打開數(shù)據(jù)庫(kù)連接

connUtil.OpenConn();

//? 3、創(chuàng)建Command對(duì)象

SqlCommand? mand=new SqlCommand(sql,sqlConn)

//? 4、執(zhí)行操作? SqlCommand調(diào)用對(duì)應(yīng)的執(zhí)行方法

SqlDataReader? reader= mand.ExecuteReader()? //? 查詢多行時(shí)使用

return reader;

}

//? ? 統(tǒng)計(jì)學(xué)生總?cè)藬?shù)的方法

public? ? int? CountStudent(string sql)

{

//? 1、獲得數(shù)據(jù)庫(kù)連接對(duì)象

SqlConnection? sqlConn=? ? connUtil.Conn;

//? 2、打開數(shù)據(jù)庫(kù)連接

connUtil.OpenConn();

//? 3、創(chuàng)建Command對(duì)象

SqlCommand? mand=new SqlCommand(sql,sqlConn)

//? 4、執(zhí)行操作? SqlCommand調(diào)用對(duì)應(yīng)的執(zhí)行方法

int? count=(int) mand.ExecuteScalar()? //? 查詢單個(gè)值時(shí)使用

// ? 5、關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)象

connUtil.CloseConn()

return count;

}

//? 執(zhí)行增刪改通用的方法

public? ? int? CountStudent(string sql)

{

//? 1、獲得數(shù)據(jù)庫(kù)連接對(duì)象

SqlConnection? sqlConn=? ? connUtil.Conn;

//? 2、打開數(shù)據(jù)庫(kù)連接

connUtil.OpenConn();

// 3、創(chuàng)建Command對(duì)象

SqlCommand? mand=new SqlCommand(sql,sqlConn)

// 4、執(zhí)行操作? SqlCommand調(diào)用對(duì)應(yīng)的執(zhí)行方法

int? count= mand.ExecuteNonQuery()//? 增刪改時(shí)調(diào)用? 返回受影響(執(zhí)行成功)的行數(shù)

// 5、關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)象

connUtil.CloseConn()

return count;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,644評(píng)論 18 399
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,954評(píng)論 25 709
  • 語 句 功 能 數(shù)據(jù)操作 SELECT——從數(shù)據(jù)庫(kù)表中檢索數(shù)據(jù)行和列INSERT——向數(shù)據(jù)庫(kù)表添加新數(shù)據(jù)行DELE...
    戰(zhàn)敭閱讀 5,229評(píng)論 0 53
  • 文/薛瘦脫 所以,你到現(xiàn)在也沒有談過戀愛? 恩,我還是想和他在教室里過一輩子呀。 一 . 我和男一號(hào)的故事要開始了...
    薛瘦脫閱讀 469評(píng)論 2 2
  • 需要?jiǎng)討B(tài)申請(qǐng)的權(quán)限: 需求:現(xiàn)在要調(diào)用照相機(jī)照照片做頭像-_-以下代碼是根據(jù)鴻洋大神的Demo沾的, 做以后開發(fā)時(shí)...
    我有一口小白牙閱讀 562評(píng)論 0 0

友情鏈接更多精彩內(nèi)容