專案中新學知識點整理

2021-07-06 02:45:07 字數 1706 閱讀 6448

一、control.cursor 屬性

獲取或設定當滑鼠指標位於控制項上時顯示的游標。

命名空間:system.windows.forms

程式集:system.windows.forms(在 system.windows.forms.dll 中)

cursor.current = cursors.waitcursor   :設定當前滑鼠為系統 等待滑鼠樣式(應該是漏斗那個)

cursor.current = cursors.default      :系統預設的滑鼠狀態一般為箭頭狀游標,好像可以更改

第一種:(呼叫系統api)

首先引入兩個命名空間複製****如下:

using system.runtime.interopservices;

using system.reflection;

匯入api複製****如下:

[dllimport("user32.dll")]

public static extern intptr loadcursorfromfile(string filename);

[dllimport("user32.dll")]

public static extern intptr setcursor(intptr cursorhandle);

[dllimport("user32.dll")]

public static extern uint destroycursor(intptr cursorhandle);

接下來使用自己的滑鼠樣式複製****如下:

private void form1_load(object sender, eventargs e)

);this.cursor = mycursor;

}public void setcursor(bitmap cursor, point hotpoint)

在你想要改變滑鼠樣式的事件裡頭使用這個方法就行了,如:複製****如下:

private void form1_load(object sender, eventargs e)

二、c#中virtual, abstract和override的區別和用法

virtual是把乙個方法宣告為虛方法,使派生類可重寫此方法,一般建立的方法是不能夠重寫的,譬如類a中有個方法

protected void method()

類b繼承自類a,類b能夠呼叫類a的method()方法,但不能更改方法體**,但當類a中使用了virtual宣告此方法: protected virtual void method(),那麼類b可通過使用override重寫此方法

protected override void method()

virtual可在基類、抽象類中使用,而使用abstract宣告的方法,為抽象方法,抽象方法沒有**體,只有乙個方法名的宣告:

protected abstract void method();

當使用abstract宣告的方法,其派生類必須要重寫此方法,如上面一句為抽象類a中宣告的,類b繼承自抽象類a,那麼類b中必須要使用override重寫此方法

protected override void method()

但abstract只能在抽象類中使用,override就是派生類重寫父類方法(包括虛方法、抽象方法,介面方法)時的關鍵字,反正你要重寫方法,就使用override宣告

知識點整理

一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...

知識點整理

一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...

知識點整理

一 狀態控制碼 code,control flag 標誌位欄位 u a p r s f 佔6位元。各 位元的含義如下 ack 確認位元 acknowledge 只有當ack 1時確認號字段才有效,代表這個封包為確認封包。當ack 0時,確認號無效。psh push function 若為1時,代表要...