玩轉C#窗體-屬性、方法和事件詳細說明

文章目錄

  • 簡介
  • Windows窗體的基本屬性
    • 一、布局屬性
      • 1、StartPosition屬性
      • 2、Location屬性
      • 3、尺寸屬性
      • 4、WindowsState屬性
      • 5、Autoscroll屬性
      • 6、AutoSize屬性
    • 二、樣式屬性
      • 1、ControlBox屬性
      • 2、MaximizeBox屬性
      • 3、MinimizeBox屬性
      • 4、HelpButton屬性
      • 5、ShowIcon屬性
      • 6、Icon屬性
      • 7、ShowInTaskbar屬性
      • 8、TopMost屬性
      • 9、IsMdiContainer屬性
      • 10、Opacity屬性
      • 11、MainMenuStrip屬性
    • 三、外觀屬性
      • 1、Text屬性
      • 2、BackColor
      • 3、BackgroundImage
      • 4、BackgroundImageLayout
      • 5、ForeColor
      • 6、Font
      • 7、Cursor
      • 8、FormBorderStyle
    • 4、行為屬性
      • 1、Enabled
      • 2、ContextMenuStrip
      • 3、AllowDrop
      • 4、ImeMode
    • 5、其他屬性
      • AcceptButton
      • CancelButton
      • KeyPreview
  • 窗體的重要方法和事件
    • 一、常用方法
      • 1、Show
      • 2、ShowDialog
      • 3、Hide
      • 4、Close
      • 5、Refresh
      • 6、Activate
    • 二、常用事件
      • 窗體行為和操作相關
          • 1、Load
          • 2、FromClosing
          • 3、FromClosed
          • 4、Click
          • 5、DoubleClick
          • 6、MouseClick
          • 7、MouseDoubleClick
      • 窗體布局、外觀和焦點相關
          • 1、Resize
          • 2、Paint
          • 3、Activated
          • 4、Deactivated
      • 窗體屬性修改相關
          • 1、TextChanged
          • 2、LocationChanged
          • 3、SizeChanged
          • 4、BackClolorChanged
          • 5、FontChanged
  • 常用的輸入輸出方法
      • 1、最簡單的消息框
      • 2、帶標題的消息框
      • 3、帶標題、按鈕的消息框
      • 4、帶標題、按鈕、圖標的消息框

  • 博主寫作不容易,孩子需要您鼓勵
  • 萬水千山總是情 , 先點個贊行不行

簡介

在windows窗體應用程序中,窗體是與用戶交互的基本方式,是向用戶展示信息的圖形界面,窗體是Windows窗體應用程序的基本單元,一個窗體應用程序可以包含一個窗體或多個窗體。
窗體是存放各種控件的容器,一個Windows窗體包含了各種控件,如標簽、文本框、按鈕、下拉框等,這些控件是相對獨立的用戶界面元素,用來顯示數據或接受數據輸入,或者響應用戶操作。
窗體也是對象,窗體類定義了生成窗體的模板,每實例化一個窗體類,就產生一個窗體。
using System.Windows.Forms命名空間中定義的Form類是所有窗體的基類,Form類被認為是對windows窗體的抽象。
所謂窗體,就是Windows的窗口,一個應用程序除了需要實現應有的功能外,還必須具有良好的用戶界面。在C#中Windows應用程序的界面是以窗體為基礎的,窗體是Windows應用程序的基本單位,用來向用戶展示和接受用戶的輸入。

Windows窗體的基本屬性

Windows窗體的屬性決定了窗體的布局、樣式、外觀、行為等可視化特征。通過代碼可以對這些屬性進行設置和修改,但是更方便的做法是在屬性編輯器窗口進行設置和修改。
在這里插入圖片描述

一、布局屬性

1、StartPosition屬性

用來獲取或設置程序運行時窗體的初始顯示位置,該屬性有5個可選屬性值,默認值為WindowsDefaultLocation
如下表所示:

屬性值說明
Manual窗體的初始顯示位置由Location屬性決定
CenterScreen窗體定位在當前顯示屏幕窗口中居中,其尺寸在窗體大小Size中指定
WindowsDefaultLocation窗體定位在windows默認位置,其尺寸在窗體大小Size中指定
WindowsDefaultBounds窗體定位在windows默認位置,其邊界也由windows默認指定
CenterParent窗體在其父窗體中居中位置

2、Location屬性

獲取或者設置顯示時其左上角在桌面上的坐標,默認值為(0,0)。

3、尺寸屬性

Size、MaximizeSize、MinimizeSize,分別表示窗體正常顯示、最大化、最小化時的尺寸,他們分別包含窗體寬度Width和高度Height兩個子項。

4、WindowsState屬性

用來獲取或設置窗體顯示時的初始狀態。默認為Normal
可選屬性值如下表:

屬性值說明
Normal表示窗體正常顯示
Minimized窗體以最小化顯示形態
Maximized窗體以最大化顯示形態

5、Autoscroll屬性

用來獲取或設置一個值,該值指示當任何控件位于窗體工作區以外時,是否會在該窗體上自動顯示滾動條,默認為False。

6、AutoSize屬性

當無法全部顯示窗體中的控件時是否自動調整窗體大小,默認值為False。

二、樣式屬性

窗體中有多個與標題欄有關的樣式屬性,他們大多為布爾類型。

1、ControlBox屬性

用來獲取或設置一個值,該值指示在該窗體的標題欄中、窗口左角處是否顯示控制菜單,值為True時將顯示該控制菜單,為False時不顯示,默認值為True

2、MaximizeBox屬性

用來獲取或設置一個值,該值指示是否在窗體的標題欄中顯示最大化按鈕,值為True時將顯示該按鈕,為False時不顯示,默認值為True

3、MinimizeBox屬性

用來獲取或設置一個值,該值指示是否在窗體的標題欄中顯示最小化按鈕,值為True時將顯示該按鈕,為False時不顯示,默認值為True

4、HelpButton屬性

用來獲取或設置一個值,該值指示是否在窗體的標題欄中顯示幫助按鈕,值為True時將顯示該按鈕,為False時不顯示,默認值為True

5、ShowIcon屬性

用來獲取或設置一個值,該值指示是否在窗體的標題欄中是否顯示圖標,值為True時將顯示圖標,為False時不顯示,默認值為True

6、Icon屬性

獲取或設置窗體標題欄中的圖標。

7、ShowInTaskbar屬性

用來獲取或設置一個值,該值指示是否在Windows任務欄中顯示窗體,默認值為True

8、TopMost屬性

用來獲取或設置一個值,該值指示該窗體是否為最頂層窗體。最頂層窗體始終顯示在桌面的最上層,即使該窗體不是當前活動窗體,默認值為False

9、IsMdiContainer屬性

用來獲取或設置一個值,該值指示窗體是否為多文檔界面中的子窗體的容器。值為True時,窗體是子窗體的容器,為False時,不是子窗體的容器,默認值為False

10、Opacity屬性

獲取或設置窗體的不透明度,默認為100%,實際應用中,可以通過該屬性給窗體增加一些類似半透明等的特殊效果。

11、MainMenuStrip屬性

設置窗體的主菜單,在窗體中添加MenuStrip控件時,Visual Studio .NET會自動完成該屬性設置。

三、外觀屬性

1、Text屬性

該屬性是一個字符串屬性,用來設置或返回在窗口標題欄中顯示文字。

2、BackColor

用來獲取或設置窗體的背景色。

3、BackgroundImage

用來獲取或設置窗體的背景圖片。

4、BackgroundImageLayout

設置背景圖的顯示布局,可選屬性值為平鋪Tile、居中Center、拉伸Stretch和放大Zoom,默認為Tile

5、ForeColor

用來獲取或設置控件的前景色。

6、Font

獲取或設置窗體中顯示的文字的字體

7、Cursor

獲取或設置當鼠標指針位于窗體上時顯示的光標。

8、FormBorderStyle

獲取或設置窗體的邊框樣式,該屬性有7個可選值,默認值為Sizable。開發人員可以通過設置該屬性值為none,實現隱藏窗體標題欄的功能。

屬性值說明
None窗體無邊框
FixedSingle固定的單行邊框
Fixed3D固定的三維邊框
FixedDialog固定的對話框式的粗邊框
Sizable可調整大小的邊框
FixedToolWindow固定大小的工具窗口邊框
SizableToolWindow可調整大小的工具窗口邊框

4、行為屬性

1、Enabled

用來獲取或設置一個值,該值指示窗口是否可用,即是否可以對用戶交互做出響應。默認值為True

2、ContextMenuStrip

設置窗體的右鍵快捷菜單,需要先添加ContextMenuStrip控件,才能設置該屬性。

3、AllowDrop

用來獲取或設置一個值,該值指示窗口是否可以接受用戶拖放到它上面的數據。默認值為False

4、ImeMode

獲取或設置控件的輸入法編輯器IME模式。

5、其他屬性

AcceptButton

該屬性用來獲取或設置一個值,該值是一個按鈕的名稱,當按【Enter】鍵時就相當于單擊了窗體上的該按鈕。

CancelButton

該屬性用來獲取或設置一個值,該值是一個按鈕的名稱,當按【Esc】鍵時就相當于單擊了窗體上的該按鈕。

KeyPreview

該屬性用來獲取或設置一個值,該值指示在將按鍵事件傳遞到具有焦點的控件前,窗體是否接受該事件。值為True時,窗口將接受按鍵事件,值為False時,窗體不接受按鍵事件。

窗體的重要方法和事件

一、常用方法

1、Show

該方法的作用是讓窗體顯示出來

  • 語法格式如下:
  • 窗體名.Show();
    

    其中窗體名是要顯示的窗體名稱。
    例如使用show方法顯示Form1窗體,代碼如下。

    From1 frm = new Form1();
    frm.Show();
    

    2、ShowDialog

    該方法的作用是將窗口顯示為模態對話框
    模態窗口就是在該窗口關閉之前,其父窗口不可能成為活動窗口的那種窗口。舉個例子:
    窗口A彈出窗口B,如果窗口B是模態的,在窗口B關閉前就不可能切換到窗口A;如果B是非模態的,那可以在這兩個窗口之間任意切換。
    它一般用來顯示提示信息和接受用戶的輸入。對話框不能獨立存在。目前有兩種對話框,分別為:模態對話框 和 非模態對話框。
    模態對話框在顯示之后,就不能對同一個程序中的其它窗口進行操作。
    非模態對話框在顯示之后,還可以對同一個程序的其它窗口進行操作。

  • 語法格式如下:
  • 窗體名.ShowDialog();
    

    其中窗體名是要顯示的窗體名稱。

    3、Hide

    該方法的作用是把窗體隱藏起來,但不銷毀窗體,也不釋放資源,可以使用Show方法重新顯示。

  • 語法格式如下:
  • 窗體名.Hide();
    

    其中窗體名是要隱藏的窗體名稱。

    4、Close

    該方法的作用是把窗體關閉。

  • 語法格式如下:
  • 窗體名.Close();
    

    其中窗體名是要關閉的窗體名稱。

    5、Refresh

    該方法的作用是刷新并重畫窗體。

  • 語法格式如下:
  • 窗體名.Refresh();
    

    其中窗體名是要刷新的窗體名稱。

    6、Activate

    該方法的作用是激活窗體并給予它焦點。

  • 語法格式如下:
  • 窗體名.Activate();
    

    其中窗體名是要激活的窗體名稱。

    二、常用事件

    與窗體有關的事件有很多,Visual Studio的“屬性”編輯窗口中“事件”選項頁列出了所有這些事件。
    窗體有關的事件被引發后,程序將轉入執行與該事件對應的事件響應函數。開發人員可以通過雙擊“屬性”編輯窗口中某事件后的空白框,讓Visual Studio自動生成該事件對應的的事件響應函數,生成的函數初始內容是空白的,可以通過添加相應的功能代碼,實現相應的功能。

    窗體行為和操作相關

    其中,與窗體行為和操作有關的常用事件有以下幾種:

    1、Load

    窗體在首次啟動、加載到內存時將引發該事件,即在第一次顯示窗體前發生。

    2、FromClosing

    窗體在關閉過程中將引發該事件。

    3、FromClosed

    窗體在關閉后將引發該事件。

    4、Click

    用戶單擊該窗體時將引發該事件。

    5、DoubleClick

    用戶雙擊該窗體時將引發該事件。

    6、MouseClick

    單擊該窗體時將引發該事件。

    7、MouseDoubleClick

    雙擊該窗體時將引發該事件。

    窗體布局、外觀和焦點相關

    1、Resize

    窗體大小改變時將引發該事件。

    2、Paint

    重繪窗體時將引發該事件。

    3、Activated

    窗體得到焦點后,即窗口激活時將引發該事件。

    4、Deactivated

    窗體失去焦點后,成為不活動窗體時將引發該事件。

    窗體屬性修改相關

    1、TextChanged

    窗體的標題文本被更改時將引發該事件。

    2、LocationChanged

    窗體的位置被更改時將引發該事件。

    3、SizeChanged

    窗體的大小被更改時將引發該事件。

    4、BackClolorChanged

    窗體的背景顏色被更改時將引發該事件。

    5、FontChanged

    窗體的字體被更改時將引發該事件。

    常用的輸入輸出方法

    在Windows應用程序中,用戶經常需要輸入信息和輸出信息。
    常用的可接受信息的控件有Lable控件、TextBox控件等。
    MessageBox是一個消息框對象。要創建消息框,需要調用MessageBox的Show方法實現,而Show方法有很多重載方式,常用的有以下四種方式。

    1、最簡單的消息框

  • 語法格式如下:
  • MessageBox.Show("消息內容");
    

    2、帶標題的消息框

  • 語法格式如下:
  • MessageBox.Show("消息內容","消息框標題");
    

    3、帶標題、按鈕的消息框

  • 語法格式如下:
  • MessageBox.Show("消息內容","消息框標題",消息框按鈕);
    

    例如

    MessageBox.Show("確定當前參數:" + dIn_FirsPhotoYPos.Value.ToString(), "提示", MessageBoxButtons.OKCancel)
    

    4、帶標題、按鈕、圖標的消息框

  • 語法格式如下:
  • MessageBox.Show("消息內容","消息框標題",消息框按鈕,消息框圖標);
    
    ------------------------------------------------------------------------------------------分割線
    ------------------------------------------------------------------------------------------
    
    • 博主簡介:
    • 工業自動化上位機軟件工程師、機器視覺算法工程師、運動控制算法工程師。目前從業于智能制造自動化行業。 博主郵箱:2296776525@qq.com
    • 幫忙點個贊吧。哈哈。

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

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

相關文章

for循環和數組練習

//公雞2文&#xff0c;母雞1文&#xff0c;小雞半文&#xff0c;每種至少一只&#xff0c;100文買100只雞有多少種可能var ci 0; for(var g1;g<50;g){for(var m1;m<100;m){for(var x1;x<100;x){if(g*2m*1x*(0.5)100&&gmx100){ci1;console.log("買公雞&qu…

CMD下查看路由表

在cmd下面輸入route print 就可以查看路由表 如何讀懂路由表如何讀懂路由表 源碼:--------------------------------------------------------------------------------Active Routes: Network Destination Netmask Gateway Interface M…

c# automapper 使用

一、最簡單的用法 有兩個類User和UserDto 1 public class User2 {3 public int Id { get; set; }4 public string Name { get; set; }5 public int Age { get; set; }6 }7 8 public class UserDto9 { 10 public string Na…

js正則歸納

/* * 正則的緩存區 * 一、 var numadb1122;var reg/(\d)\1(\d)\2/gi;console.log(num.match(reg));//[ 1122 ]二、普通字符&#xff1a;a b c 1 2 3 特殊字符&#xff1a;\d \w \D //w d 是什么三、元字符中限定符* &#xff1a; 匹配0到多 &#xff1a; 匹配1到…

洛谷 P1469 找筷子

題目描述 經過一段時間的緊張籌備&#xff0c;電腦小組的“RP餐廳”終于開業了&#xff0c;這天&#xff0c;經理LXC接到了一個定餐大單&#xff0c;可把大家樂壞了&#xff01;員工們齊心協力按要求準備好了套餐正準備派送時&#xff0c;突然碰到一個棘手的問題&#xff0c;筷…

玩轉C#控件-常用控件屬性

文章目錄概述Control類的基本屬性1、Name屬性2、Text屬性3、Anchor屬性4、Dock屬性Control類的方法和事件博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 概述 控件是包含在窗體上的對象&#xff0c;是構成用戶界面的基本元素&#xff0c;也是…

LazyT 提供對延遲初始化的支持

延遲初始化 就是在第一次使用的時候在 進行類的初始化 public class Student{public Student(){this.Name "DefaultName";this.Age 0;Console.WriteLine("Student is init...");}public string Name { get; set; }public int Age { get; set; }} public…

264標準中高復雜度的三方面

一、運功估計搜索 二、碼率控制 三、濾波算法 在264中&#xff0c;這三方面占據了絕大部分的計算復雜度。具體原因或是優化的具體步驟有時間補上。

ie瀏覽器不支持多行隱藏顯示省略號

平時在寫頁面過程中&#xff0c;相信大家都遇到過文本顯示多行后用省略號代替的問題&#xff0c;來看看代碼&#xff1a; p{display: -webkit-box;overflow: hidden;text-overflow: ellipsis;-webkit-line-clamp:12;//表示顯示12行之后用省略號代替-webkit-box-orient:vertical…

API設計原則 - Qt官網的設計實踐總結

原文鏈接&#xff1a;API Design Principles - Qt Wiki 基于Gary的影響力上 Gary Gao 的譯文稿&#xff1a;C的API設計指導 譯文發在酷殼 - CoolShell&#xff1a;API設計原則&#xff0c; 2017-07-25 API設計原則 - Qt官網的設計實踐總結 &#x1f34e; 譯序 Qt的設計水準在業…

python帶參裝飾器的改良版

簡單點就是這種 def deco2(param1):def _deco2(fun):def __deco2(*args, **kwargs):print (param)fun(*args, **kwargs)return __deco2return _deco2deco2 # 錯誤的寫法 def f2(strx):print (strx)f2(hello) 運行上面這個&#xff0c;期待打印1和hello 實際上是不…

H.264邊緣塊進行幀內預測時,上邊緣和左邊緣塊的預測情況。

僅僅介紹上邊緣塊需要用到上面的像素&#xff08;不存在&#xff09;&#xff08;例如垂直模式&#xff09;&#xff0c;左邊緣快需要用到左邊的像素&#xff08;不存在&#xff09;&#xff08;例如水平模式&#xff09;的情況。 H.264 I幀邊緣塊的處理 I幀的第一個左上的邊緣…

P1021 郵票面值設計

P1021 郵票面值設計 題目描述 給定一個信封&#xff0c;最多只允許粘貼N張郵票&#xff0c;計算在給定K&#xff08;NK≤15&#xff09;種郵票的情況下&#xff08;假定所有的郵票數量都足夠&#xff09;&#xff0c;如何設計郵票的面值&#xff0c;能得到最大值MAX&#xff0c…

第七章:XAML vs. code(3)

屬性元素語法這里有一些C&#xff03;與第4章中的FramedText代碼相似。在一個語句中&#xff0c;它實例化一個Frame和一個Label&#xff0c;并將Label設置為Frame的Content屬性&#xff1a; new Frame {OutlineColor Color.Accent,HorizontalOptions LayoutOptions.Center,Ve…

QtCreator5.12.6安裝圖文教程

前言接觸過Qt的同學肯定用過QtCreator,本id最近常用&#xff0c;也就寫個教程記錄一下安裝的過程。可能比較少人學過Qt&#xff0c;感覺Qt還是挺不錯的&#xff0c;做出來的界面還算好看&#xff0c;關鍵是跨平臺。說明&#xff1a;安裝的系統&#xff1a;win10專業版QtCreator…

H.264學習(一)——幀和場的概念

一、何謂場&#xff1f; 每個電視幀都是通過掃描屏幕兩次而產生的&#xff0c;第二個掃描的線條剛好填滿第一次掃描所留下的縫隙。每個掃描即稱為一個場。因此 25 幀/秒的電視畫面實際上為 50 場/秒 (若為 NTSC 則分別為 30 & 60 - 因為我是中國人&#xff0c;因此我采用 P…

【實踐】js實現隨機不重復抽取數組中元素

經過3個星期的時間終于用做完了學校的練習作品了&#xff0c;但是發現在用jq 做互動雖然很方便但卻帶來了不少的煩惱 所以在以后的日子里我要好好學 js 了&#xff01; 然后呢在博主之前學java 里面 另我最頭痛的就是做產生隨機不重復的數據了 今天自己再鞏固了一下以前的知識再…

RabbitMQ for windows

一、搭建環境 Rabbit MQ 是建立在強大的Erlang OTP平臺上&#xff0c;因此安裝RabbitMQ之前要先安裝Erlang。 erlang&#xff1a;http://www.erlang.org/download.html rabbitmq&#xff1a;http://www.rabbitmq.com/download.html 我目前使用的&#xff1a;http://pan.baidu.c…

圓環內外圓毛刺(凸起)缺口(凹陷)檢測halcon

文章目錄處理要求處理方法1方法一思路方法一halcon源碼處理效果處理方法2方法二思路方法二halcon源碼處理效果博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 處理要求 橢圓/圓環&#xff08;產品易變形&#xff0c;為橢圓&#xff09;內外圓…

什么是單播、多播和廣播br

什么是單播、多播和廣播   “單播”&#xff08;Unicast&#xff09;、“多播”&#xff08;Multicast&#xff09;和“廣播”&#xff08;Broadcast&#xff09;這三個術語都是用來描述網絡節點之間通訊方式的術語。那么這些術語究竟是什么意思&#xff1f;區別何在&#…