自己動手寫UI庫 引入ExtJs(布局)

2022-02-04 12:40:43 字數 2135 閱讀 3381

第一:

來看一下最終的效果

第二:來看一下使用方法:

第三:component類**如下所示:

public class component

private string id;

public string id

internal set

}private string region;

public string region

set').setregion(''); ", this.id, value);

rendercontext.execscript(str);

region = value;}}

private int width;

public int width

set').setwidth(); ", this.id, value);

rendercontext.execscript(str);

width = value;}}

private int height;

public int height

set').setheight(); ", this.id, value);

rendercontext.execscript(str);

height = value;}}

}第一:

這是extjs裡的乙個基類,ext裡所有的介面元素都繼承自這個基類

第二:id,width,region,height都是這個基類的屬性,在extjs中component類也包含這些屬性,當然還有很多其他的屬性,這裡我們就沒有一一例舉了。

第三:設定width,region,height這三個屬性的時候我們都讓瀏覽器執行了一段指令碼,這段指令碼讓extjs設定控制項的相應屬性

第四:panel類的**

第一:我們再這個控制項類的建構函式裡執行了js**,並通過js**建立了這個控制項

第二:建立完控制項之後,就馬上獲取了這個控制項的id,這個id是extjs自動生成的id,與頁面上的其他控制項是不會重複的

第三:控制項在介面上的id獲取到之後,我們就賦給這個控制項的基類的屬性

第五:viewport類的**

第一:這個類的**的執行邏輯和panel**類的邏輯相似

第二:這個類和panel類都繼承自container類

第六:container類的**

第一:與extjs相同container類繼承自compent類,也就是我們前面提到的控制項的基類

第二:我們再這個類中新增了add方法,在這個方法裡也是執行了一段js函式,把乙個控制項新增到另乙個控制項中

第七:工程的目錄結構:

第一:命名空間我們都加了ns字尾,這是為了使用方便

第八:execscript方法的**:

第一:這裡的**和我們前面文章講到的不一樣,我這裡改正用這種方式執行js**了,只有這種方式,才能順利的得到js的返回值

第二:c#**讓瀏覽器執行了乙個exec的js函式

第九:exec的js方法的**

第一:傳入引數就是我們想要執行的js語句

第二:用eval的方法執行這個js語句,然後把返回值還給c#

自己動手寫bootloader

原始出處 作者資訊和本宣告。否則將追究法律責任。為了寫乙個bootloader讓板子跑起來,首先我們要知道bootloader是個什麼東東才行。簡單的說,bootloader就是乙個引導核心啟動的一段小 也就是說當啟動完核心之後,它的使命就已經結束。bootloader生命週期 初始化硬體 設定啟動...

自己動手寫CMS

簡易的cms外掛程式,可供借鑑或者擴充套件 流程 定義內容 分類與組織內容 儲存內容 操作控制內容 定義內容 制定目標 確定需要的內容型別 目標使用者定位 確定目標使用者需要何種技術 分類與組織內容 按內容所屬的邏輯層級關係來劃分 按內容的種類來劃分,比如video text audio等等 儲存內...

自己動手寫linux靜態庫檔案

一 概述 1 庫檔案分為動態庫和靜態庫,在linux下動態庫以.so結尾,靜態庫以.a結尾,但二者都是以lib開頭。2 動態庫與靜態庫的區別在於 如果程式是在編譯時載入庫檔案的,就是使用了靜態庫。如果是在執行時載入目標 就成為動態庫。換句話說,如果是使用靜態庫,則靜態庫 在編譯時就拷貝到了程式的 段...