欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文帶你快速學(xué)會C#中WinForm框架的使用詳解

 更新時間:2023年02月26日 10:09:08   作者:微小冷  
WinForm是一門非常經(jīng)濟實惠的技術(shù),就是說,可以在短時間內(nèi)學(xué)會,并迅速借此進(jìn)行項目開發(fā)。本文就來和大家聊聊WinForm框架的使用方法,希望對大家有所幫助

前文提要:

超快速成,零基礎(chǔ)掌握C#開發(fā)中最重要的概念

抽絲剝繭,C#面向?qū)ο罂焖偕鲜?/a>

Label和控件屬性

WinForm是一門非常經(jīng)濟實惠的技術(shù),就是說,可以在短時間內(nèi)學(xué)會,并迅速借此進(jìn)行項目開發(fā)。盡管在很多方面不夠現(xiàn)代,做出來的東西又Low又丑,但絕大多數(shù)的應(yīng)用場景也不需要高端大氣上檔次?;蛟S正是因為這種特點,WinForm在工控領(lǐng)域用得非常多,畢竟可以迅速實現(xiàn)某個小功能。

在VS中創(chuàng)建新項目,模板為C#Windows窗體應(yīng)用,名稱位置啥的隨便選。

創(chuàng)建成功之后,進(jìn)入設(shè)計窗口,可以看到默認(rèn)已經(jīng)生成了一個窗口,如下圖所示,然后就可以愉快地拖控件了,所有控件都在左側(cè)的工具箱里。如果初次打開看不到工具箱,可以試一下快捷鍵Ctrl+Alt+X。

接下來用鼠標(biāo)把工具箱中的Label拖動到窗口Form1上面,同時關(guān)注VS右下角的屬性欄,可以看到Label的屬性,如下圖所示。

當(dāng)然,VS中的很多工具欄都可以拖動到任意位置,上圖就是點擊屬性欄的▼標(biāo)志,選擇浮動,然后拖動到了Form1的右側(cè)。

其中,(Name)為這個Label1控件在程序中的名字,若想在C#中調(diào)用這個標(biāo)簽,就得用到這個名字。

拖動屬性欄的滾動條,在外觀這一標(biāo)題下,有Text屬性,其內(nèi)哦讓那個為label1,這個Text是Label1這個控件所展示出來的字符,將其更改后,窗口上的標(biāo)簽也響應(yīng)發(fā)生變化,就像下圖這樣

外觀這一主題中的參數(shù),在改動之后幾乎都沒有什么嚴(yán)重后果,比如各種配色啥的都可以嘗試一番,這里就不一一演示了。

按鈕和回調(diào)邏輯

接下來從工具箱中拖動一個按鈕,即把Button拖動到Form1上,將其Text屬性改為新Label;將其Name改為btnChangeLabel。

然后雙擊這個按鈕,神奇的一幕發(fā)生了,設(shè)計窗口不見了,取而代之的是我們熟悉的代碼界面,其內(nèi)容為

namespace WinFormsTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnChangeLabel_Click(object sender, EventArgs e)
        {

        }
    }
}

命名空間就不說了,F(xiàn)orm1是一個繼承了Form的類,而其修飾語中,除了老面孔public,又多了一個partial,這個partial表示下面花括號括起來的代碼,可以是Form1的一部分。更具體一點,就是說這個Form1類可以寫在多個文件中。

接下來,public Form1(),是Form1的構(gòu)造函數(shù),無需贅言。

再往下,就是剛剛雙擊按鈕所自動生成的響應(yīng)函數(shù),其中private表示這個函數(shù)是個私有函數(shù),只有在Form1這個類中才能被調(diào)用。函數(shù)名也是自動生成的,包括兩部分,下劃線前面的就是按鈕的名字,下劃線后面Click,表示這個函數(shù)的觸發(fā)條件是單擊。

然后函數(shù)的輸入?yún)?shù)有兩個,分別是object類型的sender,以及EventArgs類型的e,前者表示剛剛點擊的那個按鈕,后者表示點擊的這個動作。

梳理一下就是,點擊按鈕是產(chǎn)生了兩個變量,即按鈕和動作,這兩個變量被傳遞給了btnChangeLabel_Click函數(shù),接下來我們就要寫一下這個函數(shù)

private void btnChangeLabel_Click(object sender, EventArgs e)
{
    label1.Text = "并沒有新Label,只有新Text";
}

label1就是上一節(jié)創(chuàng)建的Label,label1.Text就是上一節(jié)所說的Label的Text屬性。這個函數(shù)的意思是,當(dāng)點擊按鈕的時候,label1的文字發(fā)生變化,效果為

事件

點擊Shift+F7可以從代碼界面返回到設(shè)計界面,選中按鈕后,查看右下角其對應(yīng)的屬性欄,可以看到一個閃電的小圖標(biāo),點擊這個圖標(biāo),下拉滾動條,可以看到操作這個子標(biāo)題下,有個Click的操作,其右側(cè)內(nèi)容為btnChangeLabel_Click。

至此,事情的前因后果應(yīng)該就清晰了,按鈕btnChangeLabel正是在這個小閃電這里,注冊了Click這種操作,并取名為btnChangeLabel_Click,然后才有了代碼界面中的函數(shù)。

在這個小閃電所對應(yīng)的列表中,就是可以綁定到按鈕btnChangeLabel中的各種事件,Click只是其中一種。這些事件被詳細(xì)地分門別類,這些類別也很有條理,只有最后一組Key,不知道被哪個神仙翻譯成了鑰匙,其實指的應(yīng)該是按鍵吧。

比如,接下來可以注冊一個KeyDown的命令,在其右側(cè)填入btnTest_KeyDown后然后回車,VS會自動跳回到代碼界面,并已經(jīng)新建好了相應(yīng)的函數(shù)

private void btnTest_KeyDown(object sender, KeyEventArgs e)
{
}

這是個鍵盤按鍵觸發(fā)的事件,里面的函數(shù)隨意填寫就好,

接下來從工具箱中拖動一個TextBox到Form1,在右下角的屬性欄里,將其重命名為tbTest。別忘了點擊一下小閃電左邊的小扳手,否則在事件列表中是找不到Name屬性的。

接下來點擊F7,跳轉(zhuǎn)回C#界面,更改在btnTest_KeyDown這個函數(shù)

private void btnTest_KeyDown(object sender, KeyEventArgs e)
{
    tbTest.Text = $"{e.KeyCode}:啊我被按下了";
}

其中,$字符串早就講過了,可以將花括號中的數(shù)據(jù)轉(zhuǎn)成字符串。e.KeyCode表示按鍵對應(yīng)的代碼。

因為強迫癥的原因,貌似還得新建一個對偶的函數(shù),細(xì)節(jié)就不贅述了,反正寫成如下這樣

private void btnTest_KeyUp(object sender, KeyEventArgs e)
{
    tbTest.Text = $"{e.KeyCode}:嘿嘿我又彈起來了";
}

效果為

常用控件

在設(shè)計界面,Textbox與Label, Button似乎有點區(qū)別,即選中之后,其右上角會出現(xiàn)一個三角?,點擊之后會出現(xiàn)一個單選框,內(nèi)容是多行。

也就是說,正常創(chuàng)建的Textbox是不支持回車換行的,但選擇了多行之后,就支持了。

有這種額外內(nèi)容的控件為數(shù)不少,比如ComboBox,下拉選框,將其從工具箱拖動到Form1之后,點擊?,選擇編輯項,于是彈出了字符串集合編輯器,按照提示,在里面輸入




然后運行程序,可以自行看看效果。

PictureBox,顧名思義是圖片箱子,將其拖動到Form1后,同樣點擊?->選擇圖像,會彈出選擇資源對話框,選擇本地資源->導(dǎo)入,就可以把任何一張圖片展示在PictureBox中了。如果圖像尺寸不合適,可以將大小模式選為Zoom。

最后,有三個簡單控件一直沒來得及說,即CheckBox,LinkLabel以及NumericUpDown,這三個控件分別是單選框、鏈接標(biāo)簽以及數(shù)值框。

其中,單選框可以與布爾數(shù)據(jù)類型相匹配,其屬性Checked為布爾數(shù)據(jù)類型,故常用于表示某種開關(guān);LinkLabel的外表是有下劃線像鏈接一樣的Label,但其內(nèi)在卻是個按鈕,可以綁定點擊事件;NumericUpDown的Value屬性為數(shù)值類型,常用于設(shè)置數(shù)值變量。

到此這篇關(guān)于一文帶你快速學(xué)會C#中WinForm框架的使用詳解的文章就介紹到這了,更多相關(guān)C# WinForm框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • WinForm生成驗證碼圖片的方法

    WinForm生成驗證碼圖片的方法

    這篇文章主要介紹了WinForm生成驗證碼圖片的方法,涉及WinForm字符串及圖形操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • C#播放音頻文件的詳細(xì)步驟

    C#播放音頻文件的詳細(xì)步驟

    這篇文章主要介紹了C#播放音頻文件的詳細(xì)步驟,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • C#定義的MP3播放類實例

    C#定義的MP3播放類實例

    這篇文章主要介紹了C#定義的MP3播放類,實例分析了C#操作多媒體音頻文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C#控制臺程序中使用官方依賴注入的實現(xiàn)

    C#控制臺程序中使用官方依賴注入的實現(xiàn)

    這篇文章主要介紹了C#控制臺程序中使用官方依賴注入的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • C# 關(guān)于AppDomain的一些總結(jié)

    C# 關(guān)于AppDomain的一些總結(jié)

    這篇文章主要介紹了C# 關(guān)于AppDomain的一些總結(jié),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C#如何通過RFC連接sap系統(tǒng)

    C#如何通過RFC連接sap系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C#如何通過RFC連接sap系統(tǒng)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • C# 復(fù)制與刪除文件的實現(xiàn)方法

    C# 復(fù)制與刪除文件的實現(xiàn)方法

    這篇文章主要介紹了C# 復(fù)制與刪除文件的實現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • c# 使用Task實現(xiàn)非阻塞式的I/O操作

    c# 使用Task實現(xiàn)非阻塞式的I/O操作

    這篇文章主要介紹了c# 使用Task實現(xiàn)非阻塞式的I/O操作,幫助大家更好的理解和學(xué)習(xí)c# 編程語言,感興趣的朋友可以了解下
    2020-11-11
  • C#遞歸算法之歸并排序

    C#遞歸算法之歸并排序

    這篇文章主要介紹了C#遞歸算法中的歸并排序,需要的朋友可以參考下。
    2016-06-06
  • c#啟動EXE文件的方法實例

    c#啟動EXE文件的方法實例

    在程序執(zhí)行中會遇到啟動本軟件的exe問,或者啟用其它的exe文件,已達(dá)到執(zhí)行某些操作的作用。下面是兩種最常見的啟動exe文件。
    2013-04-04

最新評論