第一:
來看一下最終的效果
第二:來看一下使用方法:
第三: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 動態庫與靜態庫的區別在於 如果程式是在編譯時載入庫檔案的,就是使用了靜態庫。如果是在執行時載入目標 就成為動態庫。換句話說,如果是使用靜態庫,則靜態庫 在編譯時就拷貝到了程式的 段...